0
在查看了很多關於php數組的問題之後,我仍然無法解決我的問題。php部分關鍵字在多維數組中搜索並刪除過時的數組級別
我的目標是搜索數組進行部分匹配,並將這些結果存儲到新數組中。我正在使用的數據是國家信息,地區信息和城市信息。
我有一樣返回數據3個SQL查詢: [名] [動作] [值] 阿姆斯特丹,城市,阿姆斯特丹 荷蘭,國家,NL 荷蘭,國家,NL
結果檢索然後合併成一個陣列,
$smartsearcharray = array();
array_push($smartsearcharray, $results_countries);
array_push($smartsearcharray, $results_provinces);
array_push($smartsearcharray, $results_cities);
然而陣列看起來像
Array
(
[0] => Array
(
[0] => Array
(
[name] => andorra
[action] => country
[value] => AD
)
[1] => Array
(
[name] => argentina
[action] => country
[value] => AR
)
[1] => Array
(
[0] => Array
(
[name] => canillo
[action] => province
[value] => AD-02
)
[1] => Array
(
[name] => andorra la vella
[action] => province
[value] => AD-07
)
如果要合併的陣列0和陣列1,因爲它們包含RecursiveIteratorIterator
失敗相同的結構我想遞歸array_walk,使用strpos,preg_grep和組合,但他們往往會由於額外的陣列漁政船。
對於我應該使用的函數或技巧有何建議?
非常感謝
/編輯:解決方案
$res_arr = array();
foreach($smartsearcharray as $item)
{
if(stripos($item['name'], $search_word) !== false) {
$res_arr[] = array(
'name' => $item['name'],
'action' => $item['action'],
'value' => $item['value']
);
}
}
print_r($res_arr);
試試這個:http://stackoverflow.com/a/20919377/270037 –
所以,你是否試圖合併三個數組?將它們組合成一個數組,而不是將它們添加到新的數組中? array_merge()可能是你要找的東西:http://nl3.php.net/manual/en/function.array-merge.php –
你不能以更方便的方式從數據源請求/獲取記錄嗎?格式? – VolkerK