① php如何在数组中插入值
$input = array(12, 10, 9);
array_push($input,11);
rsort($input);
print_r($input);
② php中怎样向关联数组的指定位置插入另一个数组的元素
这个功能需求来自于网站运营策略,举倒子:
在一个排行列表中,默认有以下元素,顺序有一定的依据,假设是按下载次数排列。
$rows = array(
array('name'=>'QQ2010'),
array('name'=>'QQ2009'),
array('name'=>'迅雷5'),
array('name'=>'飞信2010'),
array('name'=>'Kugoo2010'),
array('name'=>'TTplayer'),
array('name'=>'Firefox4.0'),
array('name'=>'美图秀秀'),
array('name'=>'360safe'),
array('name'=>'Chrome6')
);
如果有一个客户[可牛杀毒]想买花10元/元下我们第二个位置,可以大家想,直接把QQ2009替换掉不就完事了吗。不,那样的话用户体验并不好,明明QQ2009是一个下载次数比较多的软件,为什么在列表中却没有了呢。
其实我们真正的需求是把QQ2009以下的单元都往后推,腾出第二个位置来给[可牛杀毒]。如果页面中只能显示10个单元,那倒霉的就是[Chrome6]了,谁叫他们付费买我们的位置呢,呵呵。
再说到程序原理上来吧,PHP要实现这个需求,挺简单,用数组函数array_splice就可以了,具体用法参照PHP手册。
给一个完整的例子吧:
<?php
$rows = array(
array('name'=>'QQ2010',),
array('name'=>'QQ2009',),
array('name'=>'迅雷5',),
array('name'=>'飞信2010',),
array('name'=>'Kugoo2010',),
array('name'=>'TTplayer',),
array('name'=>'Firefox4.0',),
array('name'=>'美图秀秀',),
array('name'=>'360safe',),
array('name'=>'Chrome6',),
);
$pop = array(
'2'=>array('name'=>'可牛杀毒'),
'5'=>array('name'=>'金山词霸2010'),
);
foreach($pop as $key=>$p){
array_splice($rows, $key-1, 0, array($p));
}
var_mp($rows);
?>
最近的结果是:
array(12) {
[0]=>
array(1) {
["name"]=>
string(6) "QQ2010"
}
[1]=>
array(1) {
["name"]=>
string(8) "可牛杀毒"
}
[2]=>
array(1) {
["name"]=>
string(6) "QQ2009"
}
[3]=>
array(1) {
["name"]=>
string(5) "迅雷5"
}
[4]=>
array(1) {
["name"]=>
string(12) "金山词霸2010"
}
[5]=>
array(1) {
["name"]=>
string(8) "飞信2010"
}
[6]=>
array(1) {
["name"]=>
string(9) "Kugoo2010"
}
[7]=>
array(1) {
["name"]=>
string(8) "TTplayer"
}
[8]=>
array(1) {
["name"]=>
string(10) "Firefox4.0"
}
[9]=>
array(1) {
["name"]=>
string(8) "美图秀秀"
}
[10]=>
array(1) {
["name"]=>
string(7) "360safe"
}
[11]=>
array(1) {
["name"]=>
string(7) "Chrome6"
}
}
③ PHP如何在数组指定位置插入元素
第一步$arr=array('a','b','c','d','e','f','g');//目标数组
第二步$i_arr=array('1','2');//要插入的数组
第三步$n=2;//插入的位置
第四步array_splice($arr,$n,0,$i_arr);
第五步print_r($arr);
按顺序输入,并且输入正确就可以了。
④ php如何实现往数组中添加元素又不改变下标的方法
在PHP中,使用array_push()函数可以向数组中添加元素,将传入的元素添加到某个数组末尾,并返回数组新的单元总数.
语法:int arrar_push(array array,mixed var[,mixed...])
说明:参数array为指定的数组,参数var是加入数组中的值.
使用array_push()函数向数组中添加元素,并输出添加元素后的数组,代码如下
$array = array(0=>'迅美科技',1=>'网站建设')
echo "添加前的数组元素:"
print_r($array);
echo"
";
array_push($array,'业务代表:李生')
echo"添加后的数组元素:"
print_r($array);
?>
运行代码后的结果为:
添加前的数组元素:Array([0]=>迅美科技 [1]=>网站建设)
添加后的数组元素:Array([0]=>迅美科技 [1]=>网站建设 [2]=>业务代表:李生)关于这个问题,差不多就是这个样子的了,你如果不明白,可以自己去后盾瞅瞅,我这些都是在后盾上学的,有空可以去看一下,就算不喜欢也没关系啊,何乐而不为呢?
⑤ php数组函数序列之array_splice() - 在数组任意位置插入元素
array_splice定义和用法
array_splice()
函数与
array_slice()
函数类似,选择数组中的一系列元素,但不返回,而是删除它们并用其它值代替。
如果提供了第四个参数,则之前选中的那些元素将被第四个参数指定的数组取代。
最后生成的数组将会返回。
语法
array_splice(array,offset,length,array)参数
描述
array
必需。规定数组。
offset
必需。数值。如果
offset
为正,则从输入数组中该值指定的偏移量开始移除。如果
offset
为负,则从输入数组末尾倒数该值指定的偏移量开始移除。
length
可选。数值。如果省略该参数,则移除数组中从
offset
到
结尾的所有部分。如果指定了
length
并且为正值,则移除这么多元素。如果指定了
length
且为负值,则移除从
offset
到数组末尾倒数
length
为止中间所有的元素。
array
被移除的元素由此数组中的元素替代。如果没有移除任何值,则此数组中的元素将插入到指定位置。
提示和注释
提示:如果函数没有删除任何元素
(length=0),则替代数组将从
start
参数的位置插入。(参见例子
3)
注释:不保留替代数组中的键。
例子
1
复制代码
代码如下:
<?php
$a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
$a2=array(0=>"Tiger",1=>"Lion");
array_splice($a1,0,2,$a2);
print_r($a1);
?>
输出:
Array
(
[0]
=>
Tiger
[1]
=>
Lion
[2]
=>
Horse
[3]
=>
Bird
)例子
2
与例子
1
相同,但是输出返回的数组:
复制代码
代码如下:
<?php
$a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
$a2=array(0=>"Tiger",1=>"Lion");
print_r(array_splice($a1,0,2,$a2));
?>
输出:
Array
(
[0]
=>
Dog
[1]
=>
Cat
)例子
3
length
参数设置为
0:
复制代码
代码如下:
<?php
$a1=array(0=>"Dog",1=>"Cat");
$a2=array(0=>"Tiger",1=>"Lion");
array_splice($a1,1,0,$a2);
print_r($a1);
?>
输出:
Array
(
[0]
=>
Dog
[1]
=>
Tiger
[2]
=>
Lion
[3]
=>
Cat
)
⑥ 如何将一个php二维数组插入另一个二维数组,如:
array_splice(array,offset,length,array)
array 必需。规定数组。
offset 必需。数值。如果 offset 为正,则从输入数组中该值指定的偏移量开始移除。如果 offset 为负,则从输入数组末尾倒数该值指定的偏移量开始移除。
length 可选。数值。如果省略该参数,则移除数组中从 offset 到 结尾的所有部分。如果指定了 length 并且为正值,则移除这么多元素。如果指定了 length 且为负值,则移除从 offset 到数组末尾倒数 length 为止中间所有的元素。
array 被移除的元素由此数组中的元素替代。如果没有移除任何值,则此数组中的元素将插入到指定位置。
length 参数设置为 0:
<?php
$a1=array(0=>"Dog",1=>"Cat");
$a2=array(0=>"Tiger",1=>"Lion");
array_splice($a1,1,0,$a2);
print_r($a1);
?>
输出:
Array ( [0] => Dog [1] => Tiger [2] => Lion [3] => Cat )
⑦ PHP如何给数组中每个元素都加一个指定值
它的方法也很简单:
array_rand($arr[, $num])$arr == 用来取元素的数组$num == 随机取下标的个数其中第二个参数 $num 是可选的,默认为1 。
注意:它的返回值在第二个参数大于 1 的时候是一个数组;当第二个参数不设或者传值 1 的时候是一个下标。
简单的示例代码如下:
1、第二个参数不传值的情况;$arr = Array('a', 'b');$rndKey = array_rand($arr);echo $arr[$rndKey];//输出 a 或者 b
2、第二个参数传值大于 1 的情况;$arr = Array('a', 'b', 'c', 'd');$rndKey = array_rand($arr, 2);print_r($rndKey]);//输出一个随机key的数组
⑧ php如何使用指定的键和值填充数组
可以使用数组函数array_fill_keys来指定
⑨ php数组怎么添加一个元素
有两种方法添加一个元素:分别是 push()和arr[]
1、Php代码$arr = array();array_push($arr, el1, el2 ... eln);
2、Php代码$arr = array();$arr[] = el1;$arr[] = el2;...$arr[] = eln;
(9)php数组指定插入扩展阅读:
PHP的大版本主要分三支:PHP4/PHP5/PHP6
其中,PHP4由于太古老、对QQ支持不力已基本被淘汰,请无视PHP4。
PHP6由于基本没有生产线上的应用,还基本只是一款概念产品,很多功能已在PHP5.3.3上实现,所以也不详述,请无视PHP6。
PHP5的版本主要分四支:PHP5.2之前的版本、PHP5.2.X、PHP5.3和日前发布的PHP5.4。
⑩ php用给定的值填充数组
array_fill
(PHP 4 >= 4.2.0, PHP 5, PHP 7)
array_fill — 用给定的值填充数组
说明
array_fill ( int $start_index , int $num , mixed $value ) : array
array_fill() 用 value 参数的值将一个数组填充 num 个条目,键名由 start_index 参数指定的开始。
参数
start_index
返回的数组的第一个索引值。
如果 start_index 是负数, 那么返回的数组的第一个索引将会是 start_index ,而后面索引则从0开始。 (参见 例子)。
num
插入元素的数量。 必须大于或等于 0。
value
用来填充的值。
返回值
返回填充后的数组。
错误/异常
如果 num 小于零,将会抛出 E_WARNING。
更新日志
版本 说明
5.6.0 num 现在可以是零。 之前 num 必须大于零。
范例
示例 #1 array_fill() 例子