2017-02-13 6 views
0

配列のすべての値を返そうとしていますが、このコードはdieのように機能しています。このコードのエラーは何ですか?配列のすべての値を返す方法

<?php 

$search_array = array("first"=> "first_user", 'second' => 4_user); 
foreach($search_array as $key => $value) 
{ 
    if(array_key_exists($key, $search_array))  
    { 
     return $search_array[$key]; 
    } 
    else 
    {  
     echo "not found"; 
    } 
} 

?> 
+0

4_userとは何ですか?またはあなたは引用符を使って "4_user"です。 – Robert

+0

4_userは例のためにちょうど取られました –

答えて

0

あなたの問題は、現在のスコープの実行を終了しますこれ、あなたのループ内からreturnを使用していることです。

あなたはその配列のすべての値を返すようにしたい場合は、一時記憶変数に各値をプッシュし、ループの最後でそれを返却する必要があります。

$output = array(); 
foreach ($myArray as $key => $value) { 
    $output[] = $value; 
} 
return $output; 

あなたのためです問題。配列の値を返すだけでよい場合は、単にreturn array_values($search_array)とすることができます。あなたがしようとしていることは、この機能が既に果たしていることを行う同調的な方法です。

+0

OKですが、die文のように動作し、下の他のスクリプトが実行されないようにします –

+0

はい、そのようなグローバルスコープから戻ることはありません –

+0

yup私はthnx bro .. –

関連する問題