<?
//(一)输出配置环境
/*
-------------------------------------
phpinfo(); //输出PHP配置信息,系统内部
-------------------------------------
*/
//(二)一维数组------------------------------------------------------------------------
$arr= array("id"=>2,"title"=>6);
print_r($arr); //万能取出数组格式
echo '<br>'; //换行
echo $arr[id]; //输出2
echo '<br>'; //换行
echo $arr[title]; //输出6
echo '<br>'; //换行
$arr2= array(1,2,3,4,5);
print_r($arr2); //万能取出数组格
echo '<br>'; //换行
echo $arr2[0]; //输出1
echo '<br>'; //换行
echo $arr2[1]; //输出2
echo '<br>'; //换行
//(三)多维数组-------------------------------------------------------------------
$arr3 =array(array(1,2),array(3,4));
print_r($arr3); //万能取出数组格
echo '<br>'; //换行
echo $arr3[0][0]; //输出为1
echo '<br>'; //换行
//(四)创建和修改数组----------------------------------------------------------------
$arr4=array("视频","教程");
print_r($arr4); //万能取出数组格--修改前
echo '<br>'; //换行
$arr4[0] ="10000"; //把 视频 修改为10000
echo '<br>'; //换行
print_r($arr4); //万能取出数组格--修改后
echo '<br>'; //换行
//数组 相关函数
//统计数组----------------------------------------------------------------------
//count() 函数 统计数组条数
$arr5=array("a","b"); //创建数组
echo count($arr5); //输出为2 count() 统计数组条数
echo '<br>'; //换行
//判断是否是数组--------------------------------------------------------------
//is_array()函数 判断是不是数组
$arr6=array("c","d"); //创建数组
if (is_array($arr6)){ //is_array 判断是不是数组
echo "是数组";
}else{
echo "不是数组";
}
echo '<br>'; //换行
//拆分数组 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//explode()函数 字符分割为数组
$a="1985-04-26";
$a2=explode("-",$a); //把A中的-拆分为数组
print_r($a2); //万能取出数组格
$a3=$a2[0]."/".$a2[1]."/".$a2[2]; //输出为 1985/04/26
echo $a3;
echo '<br>'; //换行
//遍历数组-------------------------------------------------------------
/*foreach()
{
};
*/
$b = array(1990,1991,1992,1993,1994);
foreach($b as $key=>$value){
echo "$key | $value <br> ";
}
echo '<br>'; //换行
/* 输出为
0 | 1990
1 | 1991
2 | 1992
3 | 1993
4 | 1994
*/
//-------------------------------------------------------------------------------------------
//array_chunk() 函数把一个数组分割为新的数组块。
//array_chunk(array,size,preserve_key)
/*
参数 描述
array 必需。规定要使用的数组。
size 必需。规定每个新数组包含多少个元素。
preserve_key 可选。可能的值:
true - 保留原始数组中的键名。
false - 默认。每个结果数组使用从零开始的新数组索引。
*/
$aaa=array("a"=>"Cat","b"=>"Dog","c"=>"Horse","d"=>"Cow");
print_r(array_chunk($aaa,2)); //平均每个数组放几个
echo '<br>'; //换行
/* 输出为
Array (
[0] => Array ( [0] => Cat [1] => Dog )
[1] => Array ( [0] => Horse [1] => Cow )
) */
//把数组分组
//先分为2组 在分开输出 (结合遍历数组输出)
$aaa=array("a"=>"AA","b"=>"BB","c"=>"CC","d"=>"DD");
$aaa2=array_chunk($aaa,2); //平均每个数组放几个 array_chunk() 函数把一个数组分为多组
foreach($aaa2 as $key=>$value){ //遍历数组 $key
echo "组ID | 组内元素ID | 元素值 <br> ";
echo "$key | $key[0][0] | $value[0] <br> ";
echo "$key | $key[1][1] | $value[1] <br> ";
echo "<br>";
}
/* 输出为
组ID | 组内元素ID | 元素值
0 | [0] | AA
0 | [1] | BB
组ID | 组内元素ID | 元素值
1 | [0] | CC
1 | [1] | DD
其实就是 变成了
Array ( [0] => Array ( [0] => AA [1] => BB )
[1] => Array ( [0] => CC [1] => DD ) )
*/
//合并2个数组---------------------------------------------------------
//array_combine() 函数通过合并两个数组来创建一个新数组,其中的一个数组是键名,另一个数组的值为键值。
//如果其中一个数组为空,或者两个数组的元素个数不同,则该函数返回 false。
//array_combine(array1,array2)参数 描述
// array1 必需。规定键名。
// array2 必需。规定值。
$a1=array("a","b","c","d"); //数组一
$a2=array("AA","BB","CC","DD"); //数组二
$a3=array_combine($a1,$a2); //合并数组
foreach($a3 as $key=>$value){ //遍历数组
echo "$key | $value <br> "; //输出数组
}
/*
a | AA
b | BB
c | CC
d | DD
其实就是 变成了;
Array ( [a] => AA [b] => BB [c] => CC [d] => DD )
*/
echo "<br>";
//递归地合并一个或多个数组-------------------------------------------------------
//array_merge_recursive() 函数与 array_merge() 函数 一样,将一个或多个数组的元素的合并起来,一个数//组中的值附加在前一个数组的后面。并返回作为结果的数组。
/*
array_merge_recursive(array1,array2,array3...)参数 描述
array1 必需。输入的第一个数组。
array2 必需。输入的第二个数组。
array3 可选。可指定的多个输入数组。
*/
$a1111=array("a"=>"AA","b"=>"BB");
$a2222=array("c"=>"CC","b"=>"BB2");
print_r(array_merge_recursive($a1111,$a2222));
//输出 Array ( [a] => AA [b] => Array ( [0] => BB [1] => BB2 ) [c] => CC )
echo "<br>";
//统计数组出现次数-------------------------------------------------
//array_count_values() 函数用于统计数组中所有值出现的次数。
//array_count_values(array)
// 参数 描述
//array 必需。规定输入的数组。
$abc=array("a","b","c","d","d"); //创建数组 请注意 我们下面要求数组中 同一内容出现次数
$abc2=array_count_values($abc); //统计内容出现次数
foreach($abc2 as $key=>$value){ //遍历数组
echo "$key | $value 次 <br> "; //输出数组
}
/*
a | 1 次
b | 1 次
c | 1 次
d | 2 次
其实就是这样
Array ( [a] => 1 [b] => 1 [c] => 1 [d] => 2 )
*/
echo "<br>";
//反转数组 -------------------------------------------
//array_flip() 函数返回一个反转后的数组
//交换数组中的键和值 把键名变为值 值变为键名
//array_flip(array) 描述 array 必需。规定输入的数组。
$a11=array(0=>"AA",1=>"BB",2=>"CC"); //创建数组
$a22=array_flip($a11); //反转数组
foreach($a22 as $key=>$value){ //遍历数组
echo "$key | $value <br> "; //输出数组
}
/* 输出结果 被反转 $KEY变成了植 $value植也变成了ID
AA | 0
BB | 1
CC | 2
其实就是 变成了;
Array ( [AA] => 0 [BB] => 1 [CC] => 2 )
*/
// print_r($a22); 万能查看数组
//把数组交集----------------------------------------------------------/没啥用
//array_intersect() 函数返回两个或多个数组的交集数组。(取出有相同值的数组)
/*array_intersect(array1,array2,array3...)参数 描述
array1 必需。与其他数组进行比较的第一个数组。
array2 必需。与第一个数组进行比较的数组。
array3 可选。与第一个数组进行比较的数组。可以
有多个。
*/
$a11=array(0=>"AA",1=>"CC",2=>"BB");
$a22=array(3=>"BB",4=>"AA",5=>"DD");
$a33=array(3=>"BB",4=>"AA",5=>"DD");
$a44=array(3=>"BB",4=>"A",5=>"S");
print_r(array_intersect($a11,$a22,$a33,$a44)); //前2个相比的结果 在和第3个比 ,以此推 结果在和4比
echo "<br>";
//输出为 Array ( [2] => BB )
//判断数组的KEY是否包含某值-------------------------------------------------------
//array_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false。
//array_key_exists(key,array)参数 描述
// key 必需。规定键名。
// array 必需。规定输入的数组。
$a123=array("a"=>"AA","b"=>"BB");
if (array_key_exists("a",$a123))
{
echo "包含KEY a";
}
else
{
echo "不包含KEY a";
}
//输出 包含KEY a
//或者
echo "<br>";
$a1234=array("AA","BB");
if (array_key_exists(0,$a1234))
{
echo "包含KEY 0";
}
else
{
echo "不包含KEY 0";
}
//输出 包含KEY 0
echo "<br>";
//取得数组的KEY键名字-------------------------------------------------------------------
//array_keys() 函数返回包含数组中所有键名的一个新数组
/*
array_keys(array,value)参数 描述
array 必需。规定输入的数组。
value 可选。指定值的索引(键)。
strict 可选。与 value 参数一起使用。可能的值:
true - 根据类型返回带有指定值的键名。
false - 默认值。不依赖类型。
*/
$aaa9=array("a"=>"AAA","b"=>"BBB","c"=>"CCC"); //创建数组
$aaa10=array_keys($aaa9); //取键名值
foreach($aaa10 as $key=>$value){ //遍历数组 此时键名已经变成了$value array("a","b","c")
echo "$value | 键名值 <br>"; //输出$value为键名
}
/*输出为
a | 键名值
b | 键名值
c | 键名值
同样也是输出这样意思
Array ( [0] => a [1] => b [2] => c )
*/
//取指定值的键名
echo "<br>";
$aaaaa9=array("a"=>"AAA","b"=>"BBB","c"=>"CCC"); //创建数组
$aaaaa10=array_keys($aaaaa9,"BBB"); //取指定值的键名
foreach($aaaaa10 as $key=>$value){ //遍历数组 此时键名已经变成了$value array("b")
echo "$value | 键名值 <br>"; //输出$value为键名
}
// 输出为 b | 键名值
//给数组排序----------------------------------------------------------------
//array_multisort() 函数对多个数组或多维数组进行排序
/*
语法
array_multisort(array1,sorting order,sorting type,array2,array3...)
参数 描述
array1 必需。规定输入的数组。
sorting order 可选。规定排列顺序。可能的值是 SORT_ASC 和 SORT_DESC。
sorting type 可选。规定排序类型。可能的值是SORT_REGULAR、SORT_NUMERIC和SORT_STRING。
array2 可选。规定输入的数组。
array3 可选。规定输入的数组。
字母循序
SORT_ASC - 默认,按升序排列。(A-Z)
SORT_DESC - 按降序排列。(Z-A)
随后可以指定排序的类型:
SORT_REGULAR - 默认。将每一项按常规顺序排列。
SORT_NUMERIC - 将每一项按数字顺序排列。
SORT_STRING - 将每一项按字母顺序排
列。
*/
$a123=array("DDD","BBB","CCC","AAA");
$b123=array("DDD","BBB","CCC","AAA");
array_multisort($a123,$b123);
print_r($a123);
print_r($b123);
echo "<br>";
//输出
//Array ( [0] => AAA [1] => BBB [2] => CCC [3] => DDD )
//Array ( [0] => AAA [1] => BBB [2] => CCC [3] => DDD )
//效果不好........
$a5555=array("DDD","BBB","CCC","AAA");
$b6666=array("Pluto","Fido","Missy","Missy");
array_multisort($a5555,SORT_ASC,$b6666,SORT_DESC);
print_r($a5555);
print_r($b6666);
echo "<br>";
//在尾部加值------------------------------------------------------------------------
//array_push() 函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度。
/*
语法
array_push(array,value1,value2...)参数 描述
array 必需。规定一个数组。
value1 必需。规定要添加的值。
value2 可选。规定要添加的值。
*/
$a12=array("Dog","Cat");
array_push($a12,"Horse","Bird");
print_r($a12);
echo "<br>";
//输出为 Array ( [0] => Dog [1] => Cat [2] => Horse [3] => Bird )
//随机取一个数组值---------------------------------------
//array_rand() 函数从数组中随机选出一个或多个元素,并返回。
/*
array_rand(array,number)参数 描述
array 必需。规定输入的数组参数。
number 可选。默认是 1。规定返回多少个随机的元素。
*/
$a345=array("a"=>"AA","b"=>"BB","c"=>"CC");
print_r(array_rand($a345,1));
echo "<br>";
//输出a
//在数组中搜索取出指定值--------------------------------------------------------------------
//array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。
/*
语法
array_search(value,array,strict)参数 描述
value 必需。规定在数组中搜索的值。
array 必需。被搜索的数组。
strict 可选。可能的值:
true
false - 默认
如果值设置为 true,还将在数组中检查给定值的类型
*/
$a2323=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
echo array_search("Dog",$a2323);
//输出a
//把数组中多个值替换
//array_splice() 函数与 array_slice() 函数类似,选择数组中的一系列元素,但不返回,而是删除它们并用其它值代替。
/*
语法
array_splice(array,offset,length,array)参数 描述
array 必需。规定数组。
offset 必需。数值。如果 offset 为正,则从输入数组中该值指定的偏移量开始移除。如果 offset 为负,则从输入数组末尾倒数该值指定的偏移量开始移除。
length 可选。数值。如果省略该参数,则移除数组中从 offset 到 结尾的所有部分。如果指定了 length 并且为正值,则移除这么多元素。如 果指定了 length 且为负值,则移除从 offset 到数组末尾倒数 length 为止中间所有的元素。
array 被移除的元素由此数组中的元素替代。如果没有移除任何值,则此数组中的元素将插入到指定位置。
*/
$aa1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
$aa2=array(0=>"Tiger",1=>"Lion");
array_splice($aa1,0,2,$aa2); //把数组1 0 和2 换成 数组2
print_r($aa1);
echo "<br>";
//输出为 Array ( [0] => Tiger [1] => Lion [2] => Horse [3] => Bird )
//移去数组中 相同的值----------------------------------------------------------------------------
//array_unique() 函数移除数组中的重复的值,并返回结果数组。保留一个
$a99=array("a"=>"Cat","b"=>"Dog","c"=>"Cat");
print_r(array_unique($a99));
echo "<br>";
// 输出为 Array ( [a] => Cat [b] => Dog )
//判断某个值是否在 数组中
//in_array() 函数在数组中搜索给定的值
/*
语法
in_array(value,array,type)参数 描述
value 必需。规定要在数组搜索的值。
array 必需。规定要搜索的数组。
type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。
*/
$people = array("Peter", "Joe", "Glenn", "Cleveland");
if (in_array("Glenn",$people)) //如果查询 到Glenn 则
{
echo "存在";
}
else
{
echo "不存在";
}
?>
PHP 数组例子
最新推荐文章于 2023-01-14 12:09:45 发布