<?php
$arr=array('1','2','3','4');
function aaa($arr){
foreach ($arr as $k => $v) {
if ($v=4) {
return 1;
}else{
return 2;
}
}
}
echo aaa($arr);
结果是1,不应该是2221吗,不懂啊 完全
$arr=array('1','2','3','4');
function aaa($arr){
foreach ($arr as $k => $v) {
if ($v=4) {
return 1;
}else{
return 2;
}
}
}
echo aaa($arr);
结果是1,不应该是2221吗,不懂啊 完全
$a === $b 全等 TRUE,如果 $a 等于 $b,并且它们的类型也相同。(PHP 4 引进)
$a != $b 不等 TRUE,如果 $a 不等于 $b。
$a <> $b 不等 TRUE,如果 $a 不等于 $b。
$a !== $b 非全等 TRUE,如果 $a 不等于 $b,或者它们的类型不同。(PHP 4 引进)
$a < $b 小与 TRUE,如果 $a 严格小于 $b。
$a > $b 大于 TRUE,如果 $a 严格 $b。
$a <= $b 小于等于 TRUE,如果 $a 小于或者等于 $b。
$a >= $b 大于等于 TRUE,如果 $a 大于或者等于 $b。
<?php
$arr=array('1','2','3','4');
function aaa($arr){
$str='';
foreach ($arr as $k => $v) {
if ($v==4) {
$str.=1;
}else{
$str.=2;
}
}
return $str;
}
echo aaa($arr);
得到true,执行 return程序不会再向下运行。
return就结束掉了,
$arr=array('1','2','3','4');
function aaa($arr){
$str='';
foreach ($arr as $k => $v) {
if ($v==4) {
$str.=1;
}else{
$str.=2;
}
}
return $str;
}
echo aaa($arr);
1.符号用错了
if ($v=4) {
改为
if ($v==4) {=是赋值,$v=4表示把4赋值给$v
==才是比较相等的运算符2.return调用的时机不对foreach ($arr as $k => $v) {
if ($v=4) {
return 1;
}else{
return 2;
}
}你这样只判断一次就返回了,根本没有进行循环的处理。
改为这样就可以了
$arr=array('1','2','3','4');
function aaa($arr){
$result = array();
foreach ($arr as $k => $v) {
if ($v==4) {
$result[] = 1;
}else{
$result[] = 2;
}
}
return implode('',$result);
}
echo aaa($arr);返回2221