配列が反転されたときに同様のキーの削除を回避する、私が知らない関数/方法はありますか。以下の例:
元の配列:
Array ( [last_modified] => input [published] => input [project_content] => textarea )
配列フリップ (キーの衝突) を使用:
Array ( [input] => published [textarea] => project_content )
キーを保持したい場合は、2 次元配列を使用できます。
<?php
$arr = array ( 'last_modified' => 'input', 'published' => 'input', 'project_content' => 'textarea' );
$result = array();
foreach($arr as $k => $v) {
if (array_key_exists($v, $result)) {
$result[$v][] = $k;
} else {
$result[$v] = array($k);
}
}
print_r($result);
?>
Array
(
[input] => Array
(
[0] => last_modified
[1] => published
)
[textarea] => Array
(
[0] => project_content
)
)
"input"
標準関数を使用して、値を持つ配列内のすべてのキーを取得する非常に簡単な方法がありますarray_keys
。
$keys = array_keys($array, "input");
それだけです。実際に見てください。