臧富祥 ^回到顶部

您的当前位置:首页 > php资讯 > PHP基础 > php基础-数组整理(三)

php基础-数组整理(三)

所属分类: PHP基础   2020-03-23 10:08:15  编辑:admin  浏览次数 536 次

PHP array_merge() 函数

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

<?php

$a1=array("red","green");

$a2=array("blue","yellow");

print_r(array_merge($a1,$a2));

?>

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

//将两个关联数组合并为一个数组:

<?php

$a1=array("a"=>"red","b"=>"green");

$a2=array("c"=>"blue","b"=>"yellow");

print_r(array_merge($a1,$a2));

?>

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

//仅使用一个带有整数键名的数组参数:

<?php

$a=array(3=>"red",4=>"green");

print_r(array_merge($a));

?>

去掉键值对

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

PHP array_merge_recursive() 函数

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

<?php

$a1=array("a"=>"red","b"=>"green");

$a2=array("c"=>"blue","b"=>"yellow");

print_r(array_merge_recursive($a1,$a2));

?>

// Array ( [a] => red [b] => Array ( [0] => green [1] => yellow ) [c] => blue )

数组的队列操作

PHP array_pop() 函数

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

<?php

$a=array("red","green","blue");

array_pop($a);

print_r($a);

?>

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

PHP array_push() 函数

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

 

<?php

$a=array("red","green");

array_push($a,"blue","yellow");

print_r($a);

?>

PHP array_shift() 函数

删除数组中的第一个元素(red),并返回被删除元素的值:

<?php

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

echo array_shift($a);

print_r ($a);

?>

PHP array_unshift() 函数

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

<?php

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

array_unshift($a,"blue");

print_r($a);

?>

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

PHP array_replace() 函数

如果一个键仅存在于第二个数组中:后面的数组替换前面的数组

<?php

$a1=array("a"=>"red","green");

$a2=array("a"=>"orange","b"=>"burgundy");

print_r(array_replace($a1,$a2));

?>

array_replace() 与 array_replace_recursive() 的差别:

<?php

$a1=array("a"=>array("red"),"b"=>array("green","blue"),);

$a2=array("a"=>array("yellow"),"b"=>array("black"));

$result=array_replace_recursive($a1,$a2);

print_r($result);

$result=array_replace($a1,$a2);

print_r($result);

?>

Array ( [a] => Array ( [0] => yellow ) [b] => Array ( [0] => black [1] => blue ) )

Array ( [a] => Array ( [0] => yellow ) [b] => Array ( [0] => black ) )

PHP array_reverse() 函数

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

<?php

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

print_r(array_reverse($a));

?>

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

PHP array_search() 函数

在数组中搜索键值 "red",并返回它的键名:

<?php

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

echo array_search("red",$a);

?>

//在数组中搜索键值 5,并返回它的键名(注意 ""):

<?php

$a=array("a"=>"5","b"=>5,"c"=>"5");

//如果该参数被设置为 TRUE,则函数在数组中搜索数据类型和值都一致的元素

echo array_search(5,$a,true);

?>

// b

PHP array_slice() 函数

array_slice(array,start,length,preserve)

<?php

$a=array("red","green","blue","yellow","brown");

print_r(array_slice($a,1,2));

?>

// Array ( [0] => green [1] => blue )

PHP array_unique() 函数

移除数组中重复的值:

<?php

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

print_r(array_unique($a));

?>

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

PHP array_values() 函数

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

<?php

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

print_r(array_values($a));

?>

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

排序函数

PHP - 数组的排序函数

在本节中,我们将学习如下 PHP 数组排序函数:

sort() - 以升序对数组排序

rsort() - 以降序对数组排序

asort() - 根据值,以升序对关联数组进行排序

ksort() - 根据键,以升序对关联数组进行排序

arsort() - 根据值,以降序对关联数组进行排序

krsort() - 根据键,以降序对关联数组进行排序

PHP arsort() 函数

按照键值对关联数组进行降序排序:

<?php

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

arsort($age);

?>

PHP asort() 函数

按照键值对关联数组进行升序排序:

<?php

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

asort($age);

?>

PHP krsort() 函数

按照键名对关联数组进行降序排序:

<?php

$age=array("Bill"=>"60","Steve"=>"56","mark"=>"31");

krsort($age);

?>

PHP compact() 函数

创建一个包含变量名和它们的值的数组:

<?php

$firstname = "Bill";

$lastname = "Gates";

$age = "60";

$result = compact("firstname", "lastname", "age");

print_r($result);

?>

使用不匹配变量的字符串,以及一个变量名数组:

<?php

$firstname = "Bill";

$lastname = "Gates";

$age = "60";

$name = array("firstname", "lastname");

$result = compact($name, "location", "age");

print_r($result);

?>

// Array ( [firstname] => Bill [lastname] => Gates [age] => 60 )

PHP extract() 函数

将键值 "Cat"、"Dog" 和 "Horse" 赋值给变量 $a、$b 和 $c:

<?php

$a = "Original";

$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");

extract($my_array);

echo "\$a = $a; \$b = $b; \$c = $c";

?>

指针操作

PHP current() 函数

输出数组中的当前元素的值:

<?php

$people = array("Bill", "Steve", "Mark", "David");

echo current($people) . "<br>";

?>

该函数不会移动数组内部指针。要做到这一点,请使用 next() 和 prev() 函数。

相关的方法:

end() - 将内部指针指向数组中的最后一个元素,并输出

next() - 将内部指针指向数组中的下一个元素,并输出

prev() - 将内部指针指向数组中的上一个元素,并输出

reset() - 将内部指针指向数组中的第一个元素,并输出

each() - 返回当前元素的键名和键值,并将内部指针向前移动

<?php
$people = array("Bill", "Steve", "Mark", "David");
echo current($people) . "<br>"; // 当前元素是 Bill
echo next($people) . "<br>"; // Bill 的下一个元素是 Steve
echo current($people) . "<br>"; // 现在当前元素是 Steve
echo prev($people) . "<br>"; // Steve 的上一个元素是 Bill
echo end($people) . "<br>"; // 最后一个元素是 David
echo prev($people) . "<br>"; // David 之前的元素是 Mark
echo current($people) . "<br>"; // 目前的当前元素是 Mark
echo reset($people) . "<br>"; // 把内部指针移动到数组的首个元素,即 Bill
echo next($people) . "<br>"; // Bill 的下一个元素是 Steve
print_r (each($people)); // 返回当前元素的键名和键值(目前是 Steve),并向前移动内部指针
?>

Bill
Steve
Steve
Bill
David
Mark
Mark
Bill
Steve
Array ( [1] => Steve [value] => Steve [0] => 1 [key] => 1 )

PHP in_array() 函数

in_array(search,array,type)

在数组中搜索值 "Glenn" ,并输出一些文本:

<?php

$people = array("Bill", "Steve", "Mark", "David");

if (in_array("Mark", $people))

  {

  echo "匹配已找到";

  }

else

  {

  echo "匹配未找到";

  }

?>

//匹配已找到

PHP list() 函数

把数组中的值赋给一些变量:

<?php

$my_array = array("Dog","Cat","Horse");

list($a, $b, $c) = $my_array;

echo "I have several animals, a $a, a $b and a $c.";

?>

PHP文章检索

PHP文章目录