2024-07-22 10:14:34 | 我爱编程网
php数组函数有哪些,PHP一般数组与对象数组很多人还不知道,现在让我们一起来看看吧!
PHP一般数组与对象数组
导语:PHP中的foreach作为经常用到的函数,常常用来遍历数组,那么PHP一般数组与对象数组有什么不同呢?让我们了解一下吧!
对于数组中的元素是值的'情形(如一般常见型的数组),foreach只是将数组中的每份元素的值拷贝到each后面的变量,
也就是对值本身的拷贝,对其值进行改变并不会影响到数组本身。
如:
$arr = array(1, 2, 3);
foreach($aa as $el){
$el =+ 100;
}
foreach($arr as $el){
echo $el;
echo "<br/>";
} // 结果:1 2 3
但是如果是对象数组的情形,也就是数组元素均为对象时,此时each后面的变量是对对象引用的拷贝,对其进行的改变会直接影响到原数组本身。这点与上面情形很容易弄混。
如:
$aa = new stdClass();
$aa->name = '张三';
$bb = new stdClass();
$bb->name = '李四';
$arr = array($aa, $bb); 我爱编程网
foreach($arr as $element){
$element->name = 'qqyumidi';
}
foreach($arr as $el){
echo $el->name;
echo "<br/>";
} // 结果:qqyumidi qqyumidi
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); 移除数组中重复的值,新的数组中会保留原始的键名
我爱编程网(https://www.52biancheng.com)小编还为大家带来Php数组用法是什么的相关内容。
2.php如何打印一个对象或数组到桌面上php打印一个对象或数组到到桌面上:1、打印数组使用print_r($array/$var)print是打印的意思,而r则取自Array的单词,那么该函数的功能就是打印数组内容,它既可以打印数组内容,也可以打印普通的变量。print_r($_REQUEST);print_r($_GET);/*打印使用GET方法传递的表单内容*/pr
PHP中的常用数组操作方法有哪些PHP中的常用数组操作方法(每种都给你举个2个例子)一、数组操作的基本函数数组的键名和值array_values($arr); 获得数组的值array_keys($arr); 获得数组的键名数组的内部指针current($arr); 返回数组中的当前单元pos($arr); 返回数组中的当前单元数组和变量
sortphpsort函数sort函数boolsort[1](array&array[,intsort_flags])本函数对数组进行排序。当本函数结束时数组单元将被从最低到最高重新安排。注:本函数为array中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。如果成功则返回TRUE,失败则返回FALSE。PHP多维数组排序,用array_multi
php数组函数$newarray=array();foreach($arrayas$varray){foreach($varrayas$k=>$v){if(($k=='性别'&&$v=='笑慎女'碰森敬)||($k=='年龄春没'&&$v>40))$newarray[]=$varray;}}print_r($ne
phparray_map()数组函数使用说明复制代码代码如下:/*函数array_map()函数:多数组回调函数---将回调函数作用到给定数组的单元上*1、语法:arrayarray_map(callbackcallback,arrayarr1[,array...])*2、描述:返回一个数组,该数组包含了arr1中的所
php数组函数$newarray=array();foreach($arrayas$varray){foreach($varrayas$k=>$v){if(($k=='性别'&&$v=='女')||($k=='年龄'&&$v>40))$newarray[]=$varray;}}print_r($newarray)
php中统计数组的长度是那个函数?您好,你的问题,我之前好像也遇到过,以下是我原来的解决思路和方法,希望能帮助到你,若有错误,还望见谅!展开全部获取一维数组:count()和sizeof()都可以直接统计一维数组长度。示例如下:$arr=Array('0','1','2','3','4','5','6','7','8','9');echocount($arr);//输出10$
php将数组切分为多个数组的函数有吗?答案:你一定是在寻找array_chunk函数:-)准确地说,这个函数就是用于将数组进行分块切割。举一个简单的示例:数组分块array_chunk函数是对数组进行定长分块,输出的结果如下:自动重排索引第二种情况,是保留原索引:保留索引以上。php语言中字符串分割用什么函数?“php分割
2025-02-01 20:24:39
2025-02-12 03:21:37
2025-02-10 15:19:48
2025-01-28 17:58:32
2024-11-22 05:08:01
2024-09-10 08:50:00