我試圖做到以下幾點:從陣列$post_data
PHP基於匹配的密鑰列表從關聯數組獲取值
抓鬥鍵/值對...
只有在密鑰與提供的列表匹配
$my_fields
...並創建一個只包含匹配數據的新數組。
例如,來自$post_data
我想抓住鍵/值對的first_name
,last_name
,和title
而忽略user_email
。然後我想用這些鍵/值對創建一個名爲$clean_data
的新陣列。
以下是我在循環$ post_data數組並取出基於$ my_fields數組的匹配時失敗的嘗試。
// These are the fields I'd like to get from the $post_data array
$my_fields = array(
'first_name',
'last_name',
'title'
);
// This is the raw data. I do not need the 'user_email' key/value pair.
$post_data = array(
'first_name' => 'foo',
'last_name' => 'bar',
'title' => 'Doctor',
'user_email' => '[email protected]'
);
$clean_data = array();
$counter == 0;
foreach ($post_data as $key => $value)
{
if (array_key_exists($my_fields[$counter], $post_data))
{
$clean_data[$key] = $value;
}
$counter++;
}
// Incorrectly returns the following: (Missing the first_name field)
// Array
// (
// [last_name] => bar
// [title] => Doctor
//)
感謝@nitigyan,這工作完美。 – 2014-12-13 18:51:05