A. 怎么样把一个有序二维数组打乱
可把二维数组看成是一个一维数组,如a[3][3]可以看成是 b[9],然后就是洗牌问题了,每次在0--8之间找出两个数i, j ,然后就交换 b[i] 和b[j] ,也就是a[i/3][i%3] 和b[j/3][j%3] 了,代码自己写吧,可以random产生 随机数
B. 求助php二维数组替换
首先是数组语法有错误了, 楼主的原意是把两个数组的元素打乱,然后再赋值给新建的数组吗? 是的话可以用shuffle函数可以实现。 合并$a和$b可以用combine函数。
C. 如何将php数组,打乱顺序并定位
用一个数组存资料,再用随机数控制数组下标来做
D. 用php怎么处理成二维数组啊
<?php
$str = '{{2015-02-07,20},{2015-02-08,21},{2015-02-09,1},{2015-02-10,31}}';
$arr = explode('},{', trim($str, '{}'));
echo "<pre>";
print_r($arr);
function to_arr($v){
return explode(',', $v);
}
$arr = array_map('to_arr', $arr);
print_r($arr);
echo "</pre>";
exit;
E. php二维数组处理,并重置索引。。
直接用 array_flip 或者 array_unique 是不行的,你这没有键名,必须要自己写函数
<?php
functionunique_arr($array2D,$stkeep=false,$ndformat=true)
{
//判断是否保留一级数组键(一级数组键可以为非数字)
if($stkeep)$stArr=array_keys($array2D);
//判断是否保留二级数组键(所有二级数组键必须相同)
if($ndformat)$ndArr=array_keys(end($array2D));
//降维,也可以用implode,将一维数组转换为用逗号连接的字符串
foreach($array2Das$v){
$v=join(",",$v);
$temp[]=$v;
}
//去掉重复的字符串,也就是重复的一维数组
$temp=array_unique($temp);
//再将拆开的数组重新组装
foreach($tempas$k=>$v)
{
if($stkeep)$k=$stArr[$k];
if($ndformat)
{
$tempArr=explode(",",$v);
foreach($tempArras$ndkey=>$ndval)$output[$k][$ndArr[$ndkey]]=$ndval;
}
else$output[$k]=explode(",",$v);
}
return$output;
}
$arr=array(
0=>array
(
0=>1,
1=>2
),
1=>array
(
0=>1,
1=>2
),
2=>array
(
0=>2,
1=>3
),
3=>array
(
0=>2,
1=>3
),
4=>array
(
0=>3,
1=>4
),
5=>array
(
0=>3,
1=>4
),
);
var_mp(array_values(unique_arr($arr)));
去重函数可参考: http://www.cnblogs.com/hakuci/archive/2012/05/09/2492659.html
.
F. php中有没有办法可以随机打乱数组
当然可以,php是最好的语言!可以自己封装打乱的算法,也可以使用官方提供的函数shuffle就可以打乱数组信息了,具体用法可以参考官方手册,讲得非常详细,希望能帮到你。
G. php 二维数组操作
首先要更正一下你的input中id的用法。
在一个HTML页面上,标签的id最好不要重复!否则会导致js、jq获取id的时候只能获取到第一个input的值。
H. PHP怎么处理二维数组
很简单 看下列代码
//$a为二维数组
$a=array(array('zhangsan'=>20),array('zhangsan'=>3500),array('lish'=>10));
foreach($aas$key=>$value){
foreach($valueas$k=>$v){
if($b[$k]){
$b[$k]=$v+$b[$k];
}else{
$b[$k]=$v;
}
}
}
//$b为合成后的一维数组
var_mp($b);
//array(size=2)
//'zhangsan'=>int3520
//'lish'=>int10//手写请采纳
I. PHP二维数组,
试编写代码如下:
<?php
header("content-type:text/html;charset=utf-8;");//设置页面编码为utf-8
$data=array(
'suppliers_id'=>31,
'suppliers_name'=>11111,
'suppliers_desc'=>'',
'is_check'=>1,
'admin_list'=>Array(
0=>Array(
'user_id'=>6,
'user_name'=>'电脑配件',
'user_qq'=>'418858014',
'type'=>'other'
),
1=>Array(
'user_id'=>26,
'user_name'=>'11111',
'user_qq'=>'1234566',
'type'=>'this'
)
)
);
//我要提取user_qq,条件是user_name==suppliers_name。
$num=count($data['admin_list']);
for($i=0;$i<$num;++$i)
{
if($data['admin_list'][$i]['user_name']=='11111')
{
echo'用户名为11111,QQ:'.$data['admin_list'][$i]['user_qq'];
}
}
示例结果:
用户名为 11111 , QQ : 1234566
J. php怎样随机打乱数组
<?php
$test1 = array("我是A选项", "我是B选项", "我是C选项", "我是D选项" );
$test2 = array();
$i = 0;
while(count($test2) != 4) {
$key = array_rand($test1,4);
if(in_array($test1[$key[$i]],$test2))
continue;
else
array_push($test2,$test1[$key[$i]]);
}
print_r($test2);
echo 'D在数组中的位置是'.(array_search('我是D选项',$test2) + 1);
?>
应该是你想要的,哪不合适再改