2012-08-10 365 views
2

我的一個數組值的搜索值包含在陣列不工作

$all_data_array = Array 
(
    [0] => 'General Information' 
    [1] => 'Brand' 
    [2] => '<p><div style="bolor:#000000;"><li>Product Details</li></div></p>' 
) 

我想搜索數組中的值的關鍵字,其中數組值包含文本「產品詳細信息」,其中包含一些HTML數據。 我寫了下面的代碼,但它不工作。有人可以幫忙嗎?

<?php echo $new_key = array_search('Product Details', $all_data_array); ?> 
+0

可以請你說明你的'$ all_data_array'數組是怎麼樣的? – Vins 2012-08-10 06:35:09

回答

2

array_search需要字符串值完全相同。

你可以在你的案例中使用一個循環。

foreach ($all_data_array as $key => $value) { 
    if (strpos($value, 'Product Details') !== false) { 
    $new_key = $key; 
    break; 
    } 
} 
1

array_filter允許您指定自定義函數來執行搜索。在你的情況下,一個簡單的函數,使用strpos()來檢查您的搜索字符串是否存在:

0

array_search,查找精確匹配,數組$ all_data_array的第三個要素具有其他字符(這裏的HTML標籤)除了「產品詳細信息」;