2010-08-18 5 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; 
       } 

     } 

$ список является массивом для поиска в

+0

И что происходит? что не работает? –

+0

это не работает: if (array_search ((string) $ key, $ list)) – user419503

+1

Просто заметка, array_search вернет ключ соответствующего элемента, если соответствующий элемент находится в ключе 0, то ваш if будет оценивать это как ложь и прыгать в другое. –

ответ

1

Информация от php.net:

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

+0

Можете ли вы добавить больше своего кода или ссылку на файл phps или что-то еще? Обновите свой вопрос с помощью полного кода, чтобы его было легко читать. /П –

Смежные вопросы