2010-08-18 97 views
-4

爲什麼這不起作用?如果(array_search((字符串)$鍵,$列表))foreach數組比搜索其他數組

foreach ($head as $index => $key) 
     { 
       if (array_search((string)$key,$list)) 
       { 
        $data[$index] = serialize($data[$index]); 
        $combined[$key] = isset($data[$index]) ? $data[$index] : null; 
       } else { 

        $combined[$key] = isset($data[$index]) ? $data[$index] : null; 
       } 

     } 

$列表是一個數組從php.net在

+0

會發生什麼?什麼不行? – 2010-08-18 09:34:00

+0

這不起作用:if(array_search((string)$ key,$ list)) – user419503 2010-08-18 09:37:45

+1

只需要注意,array_search將返回匹配元素的關鍵字,如果匹配元素位於關鍵字0處,那麼if將會評估它是假的,跳進別人。 – 2010-08-18 09:39:47

回答

1

信息搜索:

array_search - 搜索陣列對於 給定值並返回相應 關鍵如果成功 http://se.php.net/manual/en/function.array-search.php

嘗試:

if($newKey = array_search((string)$key, $list)) 

順便問一下,你會得到 「$data」 的通知,$data沒有定義。

BR,
保羅Peelen

+0

這不起作用 – user419503 2010-08-18 09:57:28

+0

你可以添加更多的代碼或鏈接到一個phps文件或什麼?用完整的代碼更新您的問題,以便閱讀。/P – 2010-08-18 11:34:58