概要
閲覧数:1227
投稿日:2017-01-22
更新日:2017-01-22
配列キーを置換して返す標準関数は存在しない
※配列値ーを置換して返す標準関数は存在する
コード
function arrayKeyPrefix(array $data, $prefix = '')
{
$result = array();
foreach ($data as $key => $val) {
$result[$prefix.$key] = $val;
}
return $result;
}
$dataAry = array("userId" => "apau4g",
"screenWidth" => 1280,
"screenHeight" => 1024
);
$bindValueAry = arrayKeyPrefix($dataAry,":");
print_r($bindValueAry);
//★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
//修正前コード
//上記と同じ結果を得られるが、キーとして有効な値を渡せないことがある場合はバグの原因になる!
function addColons($data)
{
$fliped = array_flip($data);
foreach ($fliped as $key => $value)
{
$fliped[$key] = ':' . $value;
}
$data = array_flip($fliped);
return $data;
}
$dataAry = array("userId" => "apau4g",
"screenWidth" => 1280,
"screenHeight" => 1024
);
$bindValueAry = addColons($dataAry,":");
print_r($bindValueAry);結果
Array
(
[:userId] => apau4g
[:screenWidth] => 1280
[:screenHeight] => 1024
)