导航:首页 > 编程语言 > php数组随机插入

php数组随机插入

发布时间:2022-12-31 04:41:34

php 如何实现,从数组中随机取出数据,还要保证下次不会再取到

$a
=
range(1,100);
function
get_one(&$a){
if(count($a)>=1){
$key=array_rand($a,1);
$value=$a[$key];
unset($a[$key]);
return
$value;
}else{
return
"都取光了";
}
}
//每次取值可以直接
echo
"取到的值:".get_one($a);
echo
"<br>还剩:".count($a);

Ⅱ 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数组中插入新的元素

你好,看你意思是要在每个二维数组里插入新的数据

<?php
foreach($arrsas$each){
$each['name']='wer';
$each['salary']='wer';//wer的值,可以自己动态调用
}
?>

希望能解决你的问题,还望采纳

Ⅳ php生成不重复随机数、数组的4种方法分享

下面写几种生成不重复随机数的方法,直接上代码吧
复制代码
代码如下:
<?php
define('RANDOM_MAX',
100);
define('COUNT',
10);
echo
'max
random
num:
'.RANDOM_MAX,
'
;result
count:'.COUNT,
'<br/>';
invoke_entry('rand1');
invoke_entry('rand2');
invoke_entry('rand3');
invoke_entry('rand4');
function
invoke_entry($func_name)
{
$time
=
new
time();
$time->time_start();
call_user_func($func_name);
echo
$func_name.'
time
spend:
',
$time->time_spend();
echo
'<br/>';
}
function
rand1()
{
$numbers
=
range
(1,
RANDOM_MAX);
shuffle($numbers); //随机打乱数组
$result
=
array_slice($numbers,
1,
COUNT);
return
$result;
}
function
rand2()
{
$result
=
array();
while(count($result)<
COUNT)
{
$result[]
=
mt_rand(1,
RANDOM_MAX); //mt_rand()是比rand()更好更快的随机函数
$result
=
array_unique($result);
//删除数组中重复的元素
}
return
$result;
}
function
rand3()
{
$result
=
array();
while(count($result)
<
COUNT)
{
$_tmp
=
mt_rand(1,
RANDOM_MAX);
if(!in_array($_tmp,
$result))
{ //当数组中不存在相同的元素时,才允许插入
$result[]
=
$_tmp;
}
}
return
$result;
}
function
rand4()
{
$result
=
array();
while
(count($result)
<
COUNT)
{
$result[]
=
mt_rand(1,
RANDOM_MAX);
$result
=
array_flip(array_flip($result)); //array_flip将数组的key和value交换
}
return
$result;
}
class
time
{
private
$_start;

public
function
time_start()
{
$this->_start
=
$this->microtime_float();
}
public
function
time_spend()
{
return
$this->microtime_float()
-
$this->_start;
}
private
function
microtime_float()
{
list($usec,
$sec)
=
explode("
",
microtime());
return
((float)$usec
+
(float)$sec);
}
}
?>

Ⅳ PHP随机插入怎么写

$a=array(1,2,5,6,7,9,111,22,33,55)
$b=$a[rand(0,count($a)-1)];//这样b就得到一个随机值
插入b;

Ⅵ php向一个空数组中添加1000个不重复的数字,要求:数字需要在0-3000中产的代码

// 1、首先定义一个空的目标数组
$arr = [];
// 2、开始for循环
for ($i = 0; $i < 1000; ) {
****// 3、获取0~3000之间的随机数
****$r = rand(0, 3000);
****// 4、判断该随机数是否存在目标数组中
****if (!in_array($r, $arr)) {
********// 5、如果不存在,则将该随机数添加到目标数组中
********$arr[] = $r;
********// 6、最关键的一步:只有向目标数组添加新值的时候才改变$i的值
********$i ++;
****}
****continue;
}
// 7、最后打印出目标数组,也可使用print_r函数
var_mp($arr);
die;
总结:该题的难点在于在什么时候再改变计数器变量$i的值,只有数组元素新增的时候才能改变$i,使其加1,当然for循环体也可反向写,也可采用别的循环结构,留给你自己发挥^>^。
希望能帮助到你,望采纳,谢谢~

Ⅶ php数组值取随机数

用array_rand()函数就可以实现。

array_rand():从数组中随机选出一个或多个元素,并返回。
语法:array_rand(array,number)

array:必需。规定输入的数组参数。
number:可选。默认是 1。规定返回多少个随机的元素。

例子:$a = ['a','b','c'];//定义一个二维数组
$b = $array_rand($a,1);//从数组a里随机选取一个元素赋值给变量b。

Ⅷ 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中怎样从一个数组中随机取一个元素出来呢

用array_rand()函数吧,它可以从一个数组中随机取一个或者多个下标出来,有了下标,就可以从原数组拿到对应的元素了。它的用法也很简单:array_rand($arr[,
$num])$arr
==
用来取元素的数组$num
==
随机取下标的个数其中第二个参数
$num
是可选的,默认为1
。注意:它的返回值在第二个参数大于
1
的时候是一个数组;当第二个参数不设或者传值
1
的时候是一个下标。简单的示例代码如下:1、第二个参数不传值的情况;$arr
=
Array('a',
'b');$rndKey
=
array_rand($arr);echo
$arr[$rndKey];//输出
a
或者
b2、第二个参数传值大于
1
的情况;$arr
=
Array('a',
'b',
'c',
'd');$rndKey
=
array_rand($arr,
2);print_r($rndKey]);//输出一个随机key的数组

阅读全文

与php数组随机插入相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:144
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:736
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:892
app转账是什么 浏览:163