php array_column(), PHP数组学习笔记
// array_column — 返回输入数组中指定列的值
// array_column(array $array, int|string|null $column_key, int|string|null $index_key = null): array
// array_column() 返回 array 中键名为 column_key 的一列值
// 如果指定了可选参数 index_key,则使用输入数组中 index_key 列的值将作为返回数组中对应值的键
// $arr4 = [
// ['id' => 2135,'first_name' => 'John','last_name' => 'Doe'],
// ['id' => 3245,'first_name' => 'Sally','last_name' => 'Smith'],
// ['id' => 5342,'first_name' => 'Jane','last_name' => 'Jones'],
// ['id' => 5623,'first_name' => 'Peter','last_name' => 'Doe']
// ];
// $column = array_column($arr4,'first_name');
// Array
// (
// [0] => John
// [1] => Sally
// [2] => Jane
// [3] => Peter
// )
// $column = array_column($arr4,'last_name','id');
// Array
// (
// [2135] => Doe
// [3245] => Smith
// [5342] => Jones
// [5623] => Doe
// )
// class User
// {
// public $username;
// private $username;
// public function __construct(string $username)
// {
// $this->username = $username;
// }
// private 属性 要用__get()、__isset()
// public function __get($prop)
// {
// return $this->$prop;
// }
// public function __isset($prop)
// {
// return isset($this->$prop);
// }
// 如果不提供 __isset(),会返回空数组
// }
// $users = [
// new User('user1'),
// new User('user2'),
// new User('user3')
// ];
// $column = array_column($users,'username');
// Array
// (
// [0] => user1
// [1] => user2
// [2] => user3
// )
// echo '<pre>';
// print_r($column);
// echo '</pre>';
-------------------------------------------------------------------------------------------------------------------------
// array_combine — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
// array_combine(array $keys, array $values): array
// 返回一个 array,用来自 keys 数组的值作为键名,来自 values 数组的值作为相应的值
// 自 PHP 8.0.0 起,如果 keys 和 values 的元素数量不同,将会抛出 ValueError
// $a = array('green', 'red', 'yellow');
// $b = array('avocado', 'apple', 'banana');
// $c = array_combine($a, $b);
// Array
// (
// [green] => avocado
// [red] => apple
// [yellow] => banana
// )
// echo '<pre>';
// print_r($c);
// echo '</pre>';
-------------------------------------------------------------------------------------------------------------------------
// array_merge — 合并一个或多个数组
// array_merge(array ...$arrays): array
// 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组
// 如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将 不会 覆盖原来的值,而是附加到后面
// 如果输入的数组存在以数字作为索引的内容,则这项内容的键名会以连续方式重新索引
// $array1 = array("color" => "red", 2, 4);
// $array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
// $result = array_merge($array1, $array2);
// Array
// (
// [color] => green
// [0] => 2
// [1] => 4
// [2] => a
// [3] => b
// [shape] => trapezoid
// [4] => 4
// )
// $array1 = array();
// $array2 = array(1 => "data");
// $result = array_merge($array1, $array2);
// Array
// (
// [0] => data
// )
// $array1 = array(0 => 'zero_a', 2 => 'two_a', 3 => 'three_a');
// $array2 = array(1 => 'one_b', 3 => 'three_b', 4 => 'four_b');
// $result = $array1 + $array2;
// 第一个数组的键名将会被保留
// 在两个数组中存在相同的键名时,第一个数组中的同键名的元素将会被保留,第二个数组中的元素将会被忽略
// Array
// (
// [0] => zero_a
// [2] => two_a
// [3] => three_a
// [1] => one_b
// [4] => four_b
// )
// $beg = 'foo';
// $end = array(1 => 'bar');
// $result = array_merge((array)$beg,$end);
// Array
// (
// [0] => foo
// [1] => bar
// )
// echo '<pre>';
// print_r($result);
// echo '</pre>';
-------------------------------------------------------------------------------------------------------------------------
// array_walk — 使用用户自定义函数对数组中的每个元素做回调处理
// array_walk(array|object &$array, callable $callback, mixed $arg = null): bool
// array_walk() 不会受到 array 内部数组指针的影响
// array_walk() 会遍历整个数组而不管指针的位置
// $fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
// function test_alter(&$item1,$key,$prefix)
// {
// $item1 = "$prefix : $item1";
// }
// array_walk($fruits,'test_alter','fruit');
// function test_print($item2,$key)
// {
// echo "$key.$item2\n";
// }
// array_walk($fruits,'test_print');
// $elements = ['a', 'b', 'c'];
// array_walk($elements,function($value,$key){
// echo "{$key} => {$value}<br>";
// });
// 0 => a
// 1 => b
// 2 => c
-------------------------------------------------------------------------------------------------------------------------
// array_values — 返回数组中所有的值
// array_values(array $array): array
// array_values() 返回 input 数组中所有的值并给其建立数字索引
// $array = array("size" => "XL", "color" => "gold");
// $values = array_values($array);
// Array
// (
// [0] => XL
// [1] => gold
// )
// echo '<pre>';
// print_r($values);
// echo '</pre>';
相关推荐
-
PHP的另类解析2023-10-23 15:40:14
-
PHP 扩展 PEAR 安装包文件被污染,服务下线2023-10-23 15:39:53
-
用php实现aop切面编程2023-10-23 15:38:06
-
十大排序算法-快速排序 PHP 实现2023-10-23 15:33:52
-
宝塔面板或者LNMP下安装php的mongodb扩展2023-10-23 15:33:08