PHP数组常用内置函数

array_keys():函数返回包含数组中所有键名的一个新数组。

返回包含数组中所有键名的一个新数组:

$a=array("Volvo"=>"XC90","BMW"=>"X5","Toyota"=>"Highlander");
print_r(array_keys($a));

Array ( [0] => Volvo [1] => BMW [2] => Toyota )

array_values():函数返回一个包含给定数组中所有键值的数组,但不保留键名。

返回数组的所有值(非键名):

$a=array("Name"=>"Bill","Age"=>"60","Country"=>"USA");
print_r(array_values($a));

Array ( [0] => Bill [1] => 60 [2] => USA )

array_flip():函数用于反转/交换数组中所有的键名以及它们关联的键值。

反转数组中所有的键以及它们关联的值(原数组有重复的值会被覆盖):

$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$result=array_flip($a1);
print_r($result);

Array ( [red] => a [green] => b [blue] => c [yellow] => d )

in_array('a',$arr) 判断给定的值是否在数组中,返回bool值。

array_search('a',$arr) 在数组中搜索某个值,在则返回它的键,不在返回false。

isset($array[key])array_key_exists(key,$array) 给定的键是否在数组中,返回bool值。

count($arr) 获取数组元素个数,返回个数。

array_change_key_case():函数将数组的所有的键都转换为大写字母或小写字母。

将数组的所有的键转换为大写字母:CASE_LOWER - 默认值。将数组的键转换为小写字母

$age=array("Bill"=>"60","Steve"=>"56","Mark"=>"31");
print_r(array_change_key_case($age,CASE_UPPER));

Array ( [BILL] => 60 [STEVE] => 56 [MARK] => 31 )

array_count_values():函数对数组中的所有值进行计数。

对数组中的所有值进行计数:

$a=array("A","Cat","Dog","A","Dog");
print_r(array_count_values($a));

Array ( [A] => 2 [Cat] => 1 [Dog] => 2 )

array_key_first($arr)/array_key_last($arr) 得到数组的第一个或最后一个键名。

array_pop():函数删除数组中的最后一个元素。

删除数组中的最后一个元素

$a=array("red","green","blue");
array_pop($a);这一步返回删除的元素值;
print_r($a);

Array ( [0] => red [1] => green )

array_push():函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度。

向数组尾部插入 "blue" 和 "yellow":

$a=array("red","green");
array_push($a,"blue","yellow");这一步返回4;
print_r($a);

Array ( [0] => red [1] => green [2] => blue [3] => yellow )

array_unshift():函数用于向数组插入新元素。新数组的值将被插入到数组的开头。

把元素 "blue" 插入数组中:

$a=array("a"=>"red","b"=>"green");
array_unshift($a,"blue");这一步返回3
print_r($a);

Array ( [0] => blue [a] => red [b] => green )

array_reverse():函数以相反的元素顺序返回数组。

以相反的元素顺序返回数组:

$a=array("a"=>"Volvo","b"=>"BMW","c"=>"Toyota");
print_r(array_reverse($a));

Array ( [c] => Toyota [b] => BMW [a] => Volvo )

array_sum($arr) array_product($arr) 对数组中所有的值求和或求乘积。

array_unique():函数用于移除数组中重复的值。如果两个或更多个数组值相同,只保留第一个值,其他的值被移除。

移除数组中重复的值:

$a=array("a"=>"red","b"=>"green","c"=>"red");
print_r(array_unique($a));

Array ( [a] => red [b] => green )

shuffle():函数把数组中的元素按随机顺序重新排列。

把数组中的元素按随机顺序重新排序:

$my_array = array("red","green","blue","yellow","purple");
shuffle($my_array);
print_r($my_array);

Array ( [0] => green [1] => yellow [2] => red [3] => purple [4] => blue )

array_rand():函数返回数组中的随机键名,或者如果您规定函数返回不止一个键名,则返回包含随机键名的数组。

返回包含随机键名的数组:

$a=array("red","green","blue","yellow","brown");
$random_keys=array_rand($a,3);
echo $a[$random_keys[0]]."<br>";
echo $a[$random_keys[1]]."<br>";
echo $a[$random_keys[2]];

blue
yellow
brown

array_chunk():函数把数组分割为新的数组块。

把数组分割为带有两个元素的数组:

$cars=array("Volvo","BMW","Toyota","Honda","Mercedes","Opel");
print_r(array_chunk($cars,2));

Array ( [0] => Array ( [0] => Volvo [1] => BMW ) [1] => Array ( [0] => Toyota [1] => Honda ) [2] => Array ( [0] => Mercedes [1] => Opel ) )

array_column():返回数组中某个单一列的值

从记录集中取出 last_name 列:

// 表示由数据库返回的可能记录集的数组
$a = array(
  array(
    'id' => 5698,
    'first_name' => 'Bill',
    'last_name' => 'Gates',
  ),
  array(
    'id' => 4767,
    'first_name' => 'Steve',
    'last_name' => 'Jobs',
  ),
  array(
    'id' => 3809,
    'first_name' => 'Mark',
    'last_name' => 'Zuckerberg',
  )
);

$last_names = array_column($a, 'last_name');
print_r($last_names);

Array ( [0] => Gates [1] => Jobs [2] => Zuckerberg )

array_combine():函数通过合并两个数组来创建一个新数组,其中的一个数组是键名,另一个数组的值为键值。

通过合并两个数组来创建一个新数组,其中的一个数组元素为键名,另一个数组元素为键值:

$fname=array("Bill","Steve","Mark");
$age=array("60","56","31");

$c=array_combine($fname,$age);
print_r($c);

Array ( [Bill] => 60 [Steve] => 56 [Mark] => 31 )

array_fill_keys():函数使用指定的键和值填充数组。

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

$keys=array("a","b","c","d");
$a1=array_fill_keys($keys,"blue");
print_r($a1);

Array ( [a] => blue [b] => blue [c] => blue [d] => blue )

array_fill():函数用键值填充数组。

用值填充数组:

$a1=array_fill(3,4,"blue");
print_r($a1);

Array ( [3] => blue [4] => blue [5] => blue [6] => blue )

array_merge():函数把一个或多个数组合并为一个数组(索引数组相同的值也可以合并,索引从0开始;关联数组相同键名后面的数组会覆盖前面数组)。

把两个数组合并为一个数组:

$a1=array("red","green");
$a2=array("blue","yellow");
print_r(array_merge($a1,$a2));

Array ( [0] => red [1] => green [2] => blue [3] => yellow )

list(变量1,变量2,..)=$arr(val1,val2,..)将数组的值赋给变量:

list($a,'',$b) = array('aaa','bbb','ccc')

array_diff():函数返回两个数组的差集数组。该数组包括了所有在被比较的数组中,但是不在任何其他参数数组中的键值。在返回的数组中,键名保持不变。

比较两个数组的键值,并返回差集:

$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue");

$result=array_diff($a1,$a2);
print_r($result);

Array ( [d] => yellow )

array_diff_key():函数用于比较两个(或更多个)数组的键名 ,并返回差集。

$a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("a"=>"red","c"=>"blue","d"=>"pink");$result=array_diff_key($a1,$a2); print_r($result);

Array ( [b] => green )

array_diff_asort($arr1,$arr2,..)带索引检查计算数组的差集,同时使用键名和值来进行差集计算。

array_intersect($arr1,$arr2,..)对比值取交集

array_intersect_key($arr1,$arr2,..)对比键取交集

array_intersect_asort(($arr1,$arr2,..)对比键值取交集

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中,可以使用Arrays类的sort()方法来对数组进行排序。该方法位于java.util包中,因此在使用之前需要先导入这个包。该方法可以按照升序对数组进行排序,即从小到大。下面是使用Arrays.sort()方法对数组进行排序的示例代码: import java.util.Arrays; public class ArraySortExample { public static void main(String[] args) { int[] array = {5, 3, 9, 1, 7}; Arrays.sort(array); System.out.println(Arrays.toString(array)); } } 运行这段代码,输出结果将为:[1, 3, 5, 7, 9]。这就是通过Java内置的数组排序函数对数组进行排序的方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [PHP数组排序函数](https://blog.csdn.net/weixin_39629679/article/details/115827682)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [java排序函数](https://blog.csdn.net/weixin_39551611/article/details/114560719)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值