読者です 読者をやめる 読者になる 読者になる

配列の順次処理


「5.7配列の順次処理」からのメモ。

  • foreachによるイテレータ
<?php
$hoge = array("a" , "b" , "c");
foreach($hoge as $k => $v)
{
  $v = "hgoe_$v";
}

print_r($hoge);
?>
Array
(
    [0] => a
    [1] => b
    [2] => c
)
  • foreachによるイテレータで参照変数を使って配列の値を操作する
<?php
$hoge = array("a" , "b" , "c");
foreach($hoge as $k => &$v)
{
  $v = "hgoe_$v";
}

print_r($hoge);
?>
Array
(
    [0] => hgoe_a
    [1] => hgoe_b
    [2] => hgoe_c
)
  • array_walk()による配列の各要素の処理
<?php
function _print($v , $k)
{
  echo "key = $k : value = $v\n";
}

$hoge = array("a" , "b" , "c");
array_walk($hoge , "_print");

?>
key = 0 : value = a
key = 1 : value = b
key = 2 : value = c
  • in_array()で配列中に要素が存在するか確認
    • 第3引数で型も含めた比較を行うかを指定できる
    • in_array()は検索用のインデックスを使用するので自分でループで探すよりも高速
<?php
$hoge = array("a" , "b" , "c");
if(in_array("c" , $hoge)){ echo "found 'c'\n"; }
?>
found 'c'