-1

return如果您查看下面的代码,当is 在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;
4

2 回答 2

1

使用break而不是返回;

  $array_key=0;

  foreach($images as $key => $image){                 
     if($image['id'] == $image_id){
        $array_key= $key;
        break;       
     }
  }

php 返回

如果从函数内部调用,return 语句立即结束当前函数的执行,并将其参数作为函数调用的值返回;如果从全局范围调用,则结束当前脚本文件的执行。如果包含或需要当前脚本文件,则将控制权传递回调用文件。

于 2013-09-15T09:01:46.550 回答
0

这是工作代码。

您需要添加一个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;
于 2013-09-15T09:06:08.753 回答