【PHP】配列のすべての要素を一括で処理するarray_walk()関数とarray_map()関数
こんにちは。今回は、array_walk()関数とarray_map()関数の2つを利用して、配列のすべての要素を一括で処理してみようと思います。
array_walk()の例
- リスト表示(ul,li)する関数を定義する
- 配列を定義(今回は一つの配列)、まずはprint_rで出力してみる
- array_walk()で関数の中で出力する
array_walk.php
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>配列のすべての要素を一括処理したい(array_walk)</title>
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
</head>
<body>
<div>
<?php
// ユーザー定義関数
function printIdList($value, $index) {
echo "<ul>";
echo "<li>No:".$index."</li>";
echo "<li>Id".$value."</li>";
echo "<ul>";
}
echo "<p>対象の配列</p>";
// 配列を$idListに定義
$idList = array("terurou","taro","jiro");
print_r($idList);
echo "</p>";
// array_walk()->配列の各要素の対して指定した関数を実行する
// array_walk(指定した配列,ユーザー定義関数);
echo "<p>一括処理した結果</p>";
array_walk($idList, 'printIdList');
?>
</div>
</body>
</html>
array_map()の例
- リスト表示(ul,li)する関数を定義する
- 配列を定義(今回は複数の配列を用意)、まずはprint_rで出力してみる
- array_walk()で関数の中で出力する
array_map.php
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>配列のすべての要素を一括処理したい(array_map)</title>
</head>
<body>
<?php
// ユーザー定義関数
function printUserData($id,$name,$age) {
echo "<ul>";
echo "<li>ID:".$id."</li>";
echo "<li>Name:".$name."</li>";
echo "<li>Age:".$age."</li>";
echo "</ul>";
}
$idList = array("terurou","taro","jiro");
$nameList = array("八木照郎","山田太郎","鈴木次郎");
$ageList = array(25,72,40);
echo "<p>1つ目の配列:";
print_r($idList);
echo "</p>";
echo "<p>2つ目の配列:";
print_r($nameList);
echo "</p>";
echo "<p>3つ目の配列:";
print_r($ageList);
echo "</p>";
echo "<p>array_map()で一括処理した結果</p>";
// array_map(関数名,配列1,配列2,...)
array_map("printUserData",$idList,$nameList,$ageList);
?>
</body>
</html>
array_walkは、array_walk(配列,関数);
であるのに対し、
array_mapは、array_map(関数,配列);
であるのに注意してください。
参考文献
PHP逆引きレシピ
Author And Source
この問題について(【PHP】配列のすべての要素を一括で処理するarray_walk()関数とarray_map()関数), 我々は、より多くの情報をここで見つけました https://qiita.com/degunosasuke/items/e1ebef233a2f976fb086著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .