① php 把数组的所有元素改成0
这样
$a= "222||||||501|||600||||||500";
$a = explode('|||',$sort1);
$a[1] = 0;
$a[4] = 0;
print_r ($a) ; //输出Array ( [0] => 222 [1] =>0 [2] => 501 [3] => 600 [4] =>0 [5] => 500 )
② php数组如何改变KEY值
没有类似的功能函数 只能是循环一下 重新赋值了
foreach ( $array as $i=>$val ) {
$key = $val['pagetype']; //取出要作为key的字段
$array[$key] = $val; //赋值
unset($array[$i]); //删掉原有的键值
}
③ php数组中的值是否可以永久改变
数组的值是可以改变的呀,比如这样
$array['name'] = "admin";
$array['name'] = "admin888";
这时,$array['name']的值就是admin888,它是根据最后一次赋值来决定该数组中的值是什么,
④ php 给一个数组元素值为空的元素重新赋值为0呢
这样
$a= "222||||||501|||600||||||500";
$a = explode('|||',$sort1);
$a[1] = 0;
$a[4] = 0;
print_r ($a) ; //输出Array ( [0] => 222 [1] =>0 [2] => 501 [3] => 600 [4] =>0 [5] => 500 )
⑤ PHP数组被重新声明后数组的值为啥还在
理解一下。
PHP中变量作用域就是当前函数(可以有特殊方式突破作用域限制).
你这个函数是递归引用 ,每次递归,$files都是新变量,返回给上一次递归合并到上一级递归的$files。你的第二个打印断点,是在递归调用后,当时找到文件时 (else分支) 并没有打印,所以第二次打印找到文件时,是合并到上级递归调用后再打印,就包含前面找到的文件。
试一下我下面的方法(部分代码略)。
functionmyscandin($dir=UEDITOR,$isrecursion=false){
static$files=array();
//非递归调用(说明是手动调用)中重置变量
if(!$isrecursion){
$files=array();
}
...
foreach(...){
if(...){
//这里递归调用传入true
myscandin($dir.DIRECTORY_SEPARATOR.$file,true);
}else{
$files[]=$dir.DIRECTORY_SEPARATOR.$file;
}
}
return$files;
}
⑥ php中怎样将数组重置为空
$array[] = array('id'=>'1');
//$array = array();
print_r($array);
中间注释那行 就是把他设置为空 也就是给他重新赋个空值就行。
⑦ php如何替换数组结果的数值
这个其实不难啊,把数组循环一下,把每个的附件名称拿出来给到一个变量,然后把这个变量加密,再根据附件名称的数组索引,覆盖一下原来的值就可以了,希望对你有帮助
⑧ PHP 如何更改数组所有的值
直接对数组进行修改就好了
<?php
$arr=Array(3=>"ab",1=>"abc");
print_r($arr);
$arr[3]=md5($arr[3]);
$arr[1]=md5($arr[1]);
echo "<br />";
print_r($arr);
?>
⑨ php 数组索引值如何重新从0开始递增
对于索引数组,php还有提供了另外一个内置函数,能够重置数组索引array_merge($arr),当array_merge()只传入一个参数且键名是整数,返回该数组,其键名以0开始进行重新索引。
其中PHP中的数组实际上是一个有序映射。映射是一种把values关联到keys的类型。换言之,数组是特殊的变量,可以同时保存一个以上的值。
在PHP中数组类型有三种:索引数组(带有数字索引的数组),关联数组(带有指定键的数组),多维数组(包含一个或多个数组的数组)。
(9)php重置数组的值扩展阅读:
注意事项:
1、两个相同的索引数组,同时执行,后面的会把前面的覆盖掉。
2、在php中 索引数组的下标可以不连续。
3、如果两个下标是空会自动增加。
4、数组的自动增长下标,默认是从0开始的,自动增长的都是出现过的最大值加1。
5、关联数组不会影响到索引数组的排序规则,就算是索引数组是负数 也不会影响,最大值+1。
⑩ PHP重置数组为连续数字索引的几种方式
PHP重置数组为连续数字索引的几种方式
比如这样的一个php数组:
[php]view plain
$arr=array(
1=>'apple',
3=>'banana',
5=>'orange'
);
想要转换为这样的数组:
[php]view plain
$arr=array(
0=>'apple',
1=>'banana',
2=>'orange'
);
1、推荐的方式 array_values 方法
这样方式无论对普通数组还是关联数组都适用
[php]view plain
<?php
$arr=array(
1=>'apple',
3=>'banana',
5=>'orange'
);
print_r(array_values($arr));
$arr1=array(
'name'=>'jerry',
'age'=>16,
'height'=>'18cm'
);
print_r(array_values($arr1));
输出结果:
[sql]view plain
[root@localhostphp]#phparray.php
Array
(
[0]=>apple
[1]=>banana
[2]=>orange
)
Array
(
[0]=>jerry
[1]=>16
[2]=>18cm
)
2、使用 array_merge 方法
该方法如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。所以只能适用于数字索引。
[php]view plain
<?php
$arr=array(
1=>'apple',
3=>'banana',
5=>'orange'
);
print_r(array_merge($arr));
$arr1=array(
'name'=>'jerry',
'age'=>16,
'height'=>'18cm'
);
print_r(array_merge($arr1));
输出结果:
[php]view plain
[root@localhostphp]#phparray.php
Array
(
[0]=>apple
[1]=>banana
[2]=>orange
)
Array
(
[name]=>jerry
[age]=>16
[height]=>18cm
)
3、循环遍历
最原始的方式,臃肿且不够优雅,极力抵制。
[php]view plain
<?php
functionresetArr($arr){
$temp=array();
foreach($arras$v){
$temp[]=$v;
}
return$temp;
}
$arr=array(
1=>'apple',
3=>'banana',
5=>'orange'
);
print_r(resetArr($arr));
$arr1=array(
'name'=>'jerry',
'age'=>16,
'height'=>'18cm'
);
print_r(resetArr($arr1));
That‘s it!