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);
?>
應該是你想要的,哪不合適再改