ホームページ  >  記事  >  バックエンド開発  >  PHPは関数の戻り値を受け取ることができません

PHPは関数の戻り値を受け取ることができません

WBOY
WBOYオリジナル
2016-06-23 13:02:421570ブラウズ

for ($i = 0; $i $arr[$i] = $i;
}

var_dump(BinarySearch($arr, 100, 0, count($arr) - 1));


function BinarySearch ($arr, $searchVal, $leftIndex, $rightIndex) {
if ($rightIndex 6c22245ed5f2c499f3282db1e365eaa4 $midVal) {
BinarySearch($arr, $searchVal, $midIndex + 1, $rightIndex);
return $midIndex }

}上記のように、var_dump の結果は空ですが、BinarySearch の 2 つの return ステートメントを echo に変更すると、ブラウザは正常に出力できるようになります。何が問題ですか?





ディスカッションへの返信 (解決策)

function BinarySearch ($arr, $searchVal, $leftIndex, $rightIndex) {  if ($rightIndex < $leftIndex) {    return 'ERROR';  }  $midIndex = round(($leftIndex + $rightIndex) / 2);  $midVal = $arr[$midIndex];  if ($searchVal < $midVal) {    return BinarySearch($arr, $searchVal, $leftIndex, $midIndex - 1); //这里需要返回  } else if ($searchVal > $midVal) {    return BinarySearch($arr, $searchVal, $midIndex + 1, $rightIndex); //这里也需要返回  } else {    return $midIndex;  }}
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。