无需言 做自己 业 ,精于勤 荒于嬉.

数组 函数 array_multisort 对多个数组或多维数组进行排序

发表日期:2021-07-01 08:57:07 | 来源: | 分类:数组 函数

      示例1
<?php 
$ar1 = array(10, 100, 100, 0);
$ar2 = array(1, 3, 2, 4);
array_multisort($ar1, $ar2);
var_dump($ar1);
var_dump($ar2);
?>

      示例2
<?php 
$ar = array(       array("10", 11, 100, 100, "a"),       array(   1,  2, "2",   3,   1)      );
array_multisort($ar[0], SORT_ASC, SORT_STRING,                $ar[1], SORT_NUMERIC, SORT_DESC);
var_dump($ar);
?>

      示例3
<?php 
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);
?>

      示例4
<?php 
// 取得列的列表foreach ($data as $key => $row) {
    $volume[$key]  = $row['volume'];
    $edition[$key] = $row['edition'];
}
// 将数据根据 volume 降序排列,根据 edition 升序排列// 把 $data 作为最后一个参数,以通用键排序array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
?>

      示例5
<?php 
$array = array('Alpha', 'atomic', 'Beta', 'bank');
$array_lowercase = array_map('strtolower', $array);
array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $array);
print_r($array);
?>

阅读全文 »

数组 函数 array_pop 弹出数组最后一个单元(出栈)

发表日期:2021-07-01 08:57:07 | 来源: | 分类:数组 函数

      示例1
<?php 
$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_pop($stack);
print_r($stack);
?>

阅读全文 »

数组 函数 array_key_last 获取一个数组的最后一个键值

发表日期:2021-07-01 08:57:07 | 来源: | 分类:数组 函数

array_key_last

(PHP 7 >= 7.3.0, PHP 8)

array_key_last获取一个数组的最后一个键值

说明

array_key_last(array $array): mixed

取得指定数组的 array 最后一个键值,不会影响到原数组的内部指针。

参数

array

要操作的数组。

返回值

返回 array 的最后一个键值(如果不为空),否则返回 null

参见

  • array_key_first() - 获取指定数组的第一个键值
  • end() - 将数组的内部指针指向最后一个单元

阅读全文 »

数组 函数 array_rand 从数组中随机取出一个或多个随机键

发表日期:2021-07-01 08:57:07 | 来源: | 分类:数组 函数

      示例1
<?php 
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
?>

阅读全文 »

数组 函数 array_reduce 用回调函数迭代地将数组简化为单一的值

发表日期:2021-07-01 08:57:07 | 来源: | 分类:数组 函数

      示例1
<?php 
function sum($carry, $item){
    $carry += $item;
    return $carry;
}
function product($carry, $item){
    $carry *= $item;
    return $carry;
}
$a = array(1, 2, 3, 4, 5);
$x = array();
var_dump(array_reduce($a, "sum"));
 // int(15)var_dump(array_reduce($a, "product", 10));
 // int(1200), because: 10*1*2*3*4*5var_dump(array_reduce($x, "sum", "No data to reduce"));
 // string(17) "No data to reduce"?>

阅读全文 »

数组 函数 array_pad 以指定长度将一个值填充进数组

发表日期:2021-07-01 08:57:07 | 来源: | 分类:数组 函数

      示例1
<?php 
$input = array(12, 10, 9);
$result = array_pad($input, 5, 0);
// result is array(12, 10, 9, 0, 0)$result = array_pad($input, -7, -1);
// result is array(-1, -1, -1, -1, 12, 10, 9)$result = array_pad($input, 2, "noop");
// not padded?>

阅读全文 »

数组 函数 array_replace_recursive 使用传递的数组递归替换第一个数组的元素

发表日期:2021-07-01 08:57:07 | 来源: | 分类:数组 函数

      示例1
<?php 
$base = array('citrus' => array( "orange") , 'berries' => array("blackberry", "raspberry"), );
$replacements = array('citrus' => array('pineapple'), 'berries' => array('blueberry'));
$basket = array_replace_recursive($base, $replacements);
print_r($basket);
$basket = array_replace($base, $replacements);
print_r($basket);
?>

      示例2
<?php 
$base = array('citrus' => array("orange") , 'berries' => array("blackberry", "raspberry"), 'others' => 'banana' );
$replacements = array('citrus' => 'pineapple', 'berries' => array('blueberry'), 'others' => array('litchis'));
$replacements2 = array('citrus' => array('pineapple'), 'berries' => array('blueberry'), 'others' => 'litchis');
$basket = array_replace_recursive($base, $replacements, $replacements2);
print_r($basket);
?>

阅读全文 »

数组 函数 array_replace 使用传递的数组替换第一个数组的元素

发表日期:2021-07-01 08:57:07 | 来源: | 分类:数组 函数

      示例1
<?php 
$base = array("orange", "banana", "apple", "raspberry");
$replacements = array(0 => "pineapple", 4 => "cherry");
$replacements2 = array(0 => "grape");
$basket = array_replace($base, $replacements, $replacements2);
print_r($basket);
?>

阅读全文 »

数组 函数 array_search 在数组中搜索给定的值,如果成功则返回首个相应的键名

发表日期:2021-07-01 08:57:07 | 来源: | 分类:数组 函数

      示例1
<?php 
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$key = array_search('green', $array);
 // $key = 2;
$key = array_search('red', $array);
   // $key = 1;
?>

阅读全文 »

数组 函数 array_reverse 返回单元顺序相反的数组

发表日期:2021-07-01 08:57:07 | 来源: | 分类:数组 函数

      示例1
<?php 
$input  = array("php", 4.0, array("green", "red"));
$reversed = array_reverse($input);
$preserved = array_reverse($input, true);
print_r($input);
print_r($reversed);
print_r($preserved);
?>

阅读全文 »

数组 函数 array_diff_assoc 带索引检查计算数组的差集

发表日期:2021-07-01 08:57:06 | 来源: | 分类:数组 函数

      示例1
<?php 
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

      示例2
<?php 
$array1 = array(0, 1, 2);
$array2 = array("00", "01", "2");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

阅读全文 »

数组 函数 array_combine 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值

发表日期:2021-07-01 08:57:06 | 来源: | 分类:数组 函数

      示例1
<?php 
$a = array('green', 'red', 'yellow');
$b = array('avocado', 'apple', 'banana');
$c = array_combine($a, $b);
print_r($c);
?>

阅读全文 »

数组 函数 array_diff_uassoc 用用户提供的回调函数做索引检查来计算数组的差集

发表日期:2021-07-01 08:57:06 | 来源: | 分类:数组 函数

      示例1
<?php 
function key_compare_func($a, $b){
    if ($a === $b) {
        return 0;
    }
    return ($a > $b)? 1:-1;
}
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_uassoc($array1, $array2, "key_compare_func");
print_r($result);
?>

阅读全文 »

数组 函数 array_count_values 统计数组中所有的值

发表日期:2021-07-01 08:57:06 | 来源: | 分类:数组 函数

      示例1
<?php 
$array = array(1, "hello", 1, "world", "hello");
print_r(array_count_values($array));
?>

阅读全文 »

数组 函数 array_diff 计算数组的差集

发表日期:2021-07-01 08:57:06 | 来源: | 分类:数组 函数

      示例1
<?php 
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);
print_r($result);
?>

      示例2
<?php 
// 数组无法转换成字符串时会产生 Notice 警告$source = [1, 2, 3, 4];
$filter = [3, 4, [5], 6];
$result = array_diff($source, $filter);
// 而这个就可以,因为对象可以转换成字符串class S {
  private $v;
  public function __construct(string $v) {
    $this->v = $v;
  }
  public function __toString() {
    return $this->v;
  }
}
$source = [new S('a'), new S('b'), new S('c')];
$filter = [new S('b'), new S('c'), new S('d')];
$result = array_diff($source, $filter);
// $result 包含了一个 S('a');
 实例?>

阅读全文 »

数组 函数 array_fill_keys 使用指定的键和值填充数组

发表日期:2021-07-01 08:57:06 | 来源: | 分类:数组 函数

      示例1
<?php 
$keys = array('foo', 5, 10, 'bar');
$a = array_fill_keys($keys, 'banana');
print_r($a);
?>

阅读全文 »

数组 函数 array_chunk 将一个数组分割成多个

发表日期:2021-07-01 08:57:06 | 来源: | 分类:数组 函数

      示例1
<?php 
$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));
print_r(array_chunk($input_array, 2, true));
?>

阅读全文 »

数组 函数 array_fill 用给定的值填充数组

发表日期:2021-07-01 08:57:06 | 来源: | 分类:数组 函数

      示例1
<?php 
$a = array_fill(5, 6, 'banana');
$b = array_fill(-2, 4, 'pear');
print_r($a);
print_r($b);
?>

阅读全文 »

数组 函数 array_diff_ukey 用回调函数对键名比较计算数组的差集

发表日期:2021-07-01 08:57:06 | 来源: | 分类:数组 函数

      示例1
<?php 
function key_compare_func($key1, $key2){
    if ($key1 == $key2)        return 0;
    else if ($key1 > $key2)        return 1;
    else        return -1;
}
$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);
var_dump(array_diff_ukey($array1, $array2, 'key_compare_func'));
?>

阅读全文 »

数组 函数 array_intersect_assoc 带索引检查计算数组的交集

发表日期:2021-07-01 08:57:06 | 来源: | 分类:数组 函数

      示例1
<?php 
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "b" => "yellow", "blue", "red");
$result_array = array_intersect_assoc($array1, $array2);
print_r($result_array);
?>

阅读全文 »

全部博文(1580)
集速网 copyRight © 2015-2022 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。