如果你看下面的代码,当return
在if
语句中时,它不会回显任何内容。 当我取return out
时,它会回显出正确的值。 这是为什么呢?
$images= Array(
[0] => Array
(
[id] => 131],
[width] => 400]
),
[1] => Array
(
[id] => 140],
[width] => 900]
)
)
$array_key=0;
foreach($images as $key => $image){
if($image['id'] == $image_id){
$array_key= $key;
return;
}
}
echo $array_key;
使用 break
而不是 return;
$array_key=0;
foreach($images as $key => $image){
if($image['id'] == $image_id){
$array_key= $key;
break;
}
}
从 php 返回:
如果从函数内部调用,return 语句会立即结束当前函数的执行,并将其参数作为函数调用的值返回;如果从全局范围调用,则结束当前脚本文件的执行。如果包含或需要当前脚本文件,则控制权将传递回调用文件。
这是工作代码。
您需要添加一个 break
语句,并且必须定义$image_id
值。
<?php
$images= Array(
0 => Array
(
'id' => 131,
'width' => 400
),
1 => Array
(
'id' => 140,
'width' => 900
)
);
$array_key=0;
$image_id=140;
foreach($images as $key => $image){
if($image['id'] == $image_id){
$array_key= $key;
break;
///return;
}
}
echo $array_key;