php数组使用
A. php中要使用数组的话必须先定义一个变量为array()吗
在php中声明数组主要有2种方式:
一 是应用array()函数声明数组。
二 是直接为数组元素赋值。
1, $array=array('php'=>1,'jsp'=>2,'asp'=>3);
这种方式, 数组的键和值都由程序员自己配置.
输出时使用 echo $array['php'] 就可以获取到 1 的值
2, $array=array(5,26,37,18,9,42,88,66);
这种方式, 程序员无需自己设置数组的'键' (或者叫 key )
输出时使用 echo $array[1] 就可以获取到 26 这个数字
不能说哪种更好, 编程时按实际情况去决定.
个人比较常用后者, 只有在要求格式化输出时,才考虑第一种
望采纳!
B. php数组怎么增加一个元素
方法:1、使用array_unshift()函数在数组的开头增加一个元素,语法“array_unshift(array,值)”;2、使用array_push()函数在数组的尾部增加一个元素,语法“array_push(array,值)”。
本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑
在数组头添加元素
array_unshift()函数在数组头添加元素。所有己有的数值键都会相应地修改,以反映其在数组中的新位置,但是关联键不受影响。其形式如下:
array_unshift(array array,mixed variable[,mixed variable])
下面这个例子在$fruits数组前面添加了两种水果:
$fruits = array("apple""banana");array_unshift($fruits,"orange""pear")// $fruits = array("orange""pear""apple""banana");
在数组尾添加元素
array_push() 函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度。
array_push()函数的返回值是int型,是压入数据后数组中元素的个数,可以为此函数传递多个变量作为参数,同时向数组压入多个变量。其形式为:
array_push(array,value1,value2.)
下面这个例子在$fruits数组中又添加了两个水果:
view sourceprint?$fruits = array("apple""banana");array_push($fruits,"orange""pear")//$fruits = array("apple""banana""orange""pear")
推荐学习:《PHP视频教程》
C. PHP中的常用数组操作方法有哪些
PHP中的常用数组操作方法(每种都给你举个2个例子)
一、数组操作的基本函数
数组的键名和值
array_values($arr); 获得数组的值
array_keys($arr);获得数组的键名
数组的内部指针
current($arr); 返回数组中的当前单元
pos($arr); 返回数组中的当前单元
数组和变量之间的转换
extract($arr);用于把数组中的元素转换成变量导入到当前文件中,键名当作变量名,值作为变量值
注:(第二个参数很重要,可以看手册使用)使用方法
echo$a;compact(var1,var2,var3);用给定的变量名创建一个数组
二、数组的分段和填充
数组的分段
array_slice($arr,0,3); 可以将数组中的一段取出,此函数忽略键名
array_splice($arr,0,3,array("black","maroon")); 可以将数组中的一段取出,与上个函数不同在于返回的序列从原数组中删除
分割多个数组
array_chunk($arr,3,TRUE); 可以将一个数组分割成多个,TRUE为保留原数组的键名
数组的填充
array_pad($arr,5,'x'); 将一个数组填补到制定长度
三、数组与栈
array_push($arr,"apple","pear"); 将一个或多个元素压入数组栈的末尾(入栈),返回入栈元素的个数
array_pop($arr); 将数组栈的最后一个元素弹出(出栈)
四、数组与列队
array_shift($arr);数组中的第一个元素移出并作为结果返回(数组长度减1,其他元素向前移动一位,数字键名改为从零技术,文字键名不变)
array_unshift($arr,"a",array(1,2));在数组的开头插入一个或多个元素
五、回调函数
array_walk($arr,'function','words'); 使用用户函数对数组中的每个成员进行处理(第三个参数传递给回调函数function)
array_mpa("function",$arr1,$arr2); 可以处理多个数组(当使用两个或更多数组时,他们的长度应该相同)
六、数组的排序
通过元素值对数组排序
sort($arr); 由小到大的顺序排序(第二个参数为按什么方式排序)忽略键名的数组排序
rsort($arr); 由大到小的顺序排序(第二个参数为按什么方式排序)忽略键名的数组排序
通过键名对数组排序
ksort($arr); 按照键名正序排序
krsort($arr); 按照键名逆序排序
七、数组的计算
数组元素的求和
array_sum($arr); 对数组内部的所有元素做求和运算
数组的合并
array_merge($arr1,$arr2); 合并两个或多个数组(相同的字符串键名,后面的覆盖前面的,相同的数字键名,后面的不会做覆盖操作,而是附加到后面)
“+”$arr1+$arr2; 对于相同的键名只保留后一个
数组的差集
array_diff($arr1,$arr2); 返回差集结果数组
array_diff_assoc($arr1,$arr2,$arr3); 返回差集结果数组,键名也做比较
数组的交集
array_intersect($arr1,$arr2); 返回交集结果数组
array_intersect_assoc($arr1,$arr2); 返回交集结果数组,键名也做比较
八、其他的数组函数
range(0,12); 创建一个包含指定范围单元的数组
array_unique($arr); 移除数组中重复的值,新的数组中会保留原始的键名
D. php 数组 将指定元素移至末尾
$arr = array(0,3,5,0,0,7,1,9,0,8);
$count = count($arr);
$remove_arr = array();
for($i=0;$i<=$count;$i++){
if($arr[$i] === 0) {
array_push($arr, $arr[$i]);
array_push($remove_arr, $i);
}
}
foreach($arr as $k=> $v) {
if(in_array($k, $remove_arr)){
unset($arr[$k]);
}
}
echo '<pre>';
var_mp($arr);die;
E. php多维数组如何使用
$User[0][0]的值就是'张三'、$User[0][1]的值就是88;
$User[1][0]的值就是'lisi'、$User[1][1]的值就是90;
....
更高级的用法见下面的例子程序:
<?php
$User =array(
'张三' => 88,
'lisi' => 90,
'王五' => 99
);
print_r($User);
?>
这样$User['张三']的值就是88,$User['lisi']的值就是90,是一维数组,而且更加方便。