php二維轉一維
A. php多維數組問題,,高分求高手幫幫,,
1、二維轉一維:
function fixArray($r,$k)
{
$out = array();
foreach ($r as $key=>$val) {
if (is_array($val)){
$out = array_merge($out, fixArray($val,$key));
} else{
$out["'$key'"] = $val;//$val;
}
}
return $out;
}
$arr =array(
'2'=>array('5'=>'ok','6'=>'good'),
'3'=>array('7'=>'yes','8'=>'cool'),
'4'=>array('9'=>'look')
);
$output = fixArray($arr,"");
print_r($output);
2、你說的帶主鍵名3,基本上不可能實現,因為如果鍵名相同,則值會互相覆蓋,或者還是需要用2維數組。
B. php用foreach將一個長數組循環插入資料庫
在處理大量數據時,將一維數組轉換為二維數組能更方便地進行批量處理。我們可以通過循環將數據按需求組織起來。以下是一個示例代碼,用於將一維數組轉換為二維數組:
$newArray=[]; for($i=1;$i3;$i++){ foreach($arr as $key => $val){ if($key=="item_name_".$i){ $newArray[$i][$key]=$val; } } }
這樣,$newArray就變成了一個二維數組,每組數據為一個子數組。接下來,我們可以使用foreach循環將數據逐個插入到資料庫中。例如:
$sql = "INSERT INTO table (item_name) VALUES (?);";$stmt = $pdo->prepare($sql);foreach($newArray as $data){ $stmt->execute([$data["item_name_1"]]);}
通過這種方式,我們可以高效地將數組中的數據批量插入到資料庫中,而不需要逐條插入。
需要注意的是,這里的示例代碼假設了每一組數據有三個元素,且數組的鍵名遵循特定的模式(如「item_name_1」、「item_name_2」等)。實際應用中,根據具體需求可能需要調整循環條件和鍵名匹配規則。此外,為了確保數據安全,建議使用預處理語句來防止SQL注入。
在進行數據批量插入時,還可以考慮使用批量插入語句,以進一步提高性能。例如:
$sql = "INSERT INTO table (item_name) VALUES ";$values = [];foreach($newArray as $data){ $values[] = "(:item_name_$i)";}$sql .= implode(", ", $values);$stmt = $pdo->prepare($sql);$params = [];for($i=1;$i<=count($newArray);$i++){ $params[":item_name_$i"] = $newArray[$i]["item_name_$i"];}$stmt->execute($params);
通過這種方式,我們可以一次性執行多條插入語句,從而提高插入效率。同時,預處理參數的使用也保證了數據的安全性。
C. php 二維數組轉換為一維鍵值對數組
function transIndex($index, $Data) { $return = array(); foreach ($index as $key => $value) { $return[$value] = $Data[$key]; } return $return;}
D. php 怎麼把一個二維數組轉換為一個一維數組
foreach($arras$k=>$v){
$id_new[]=$id;
$name_new[]=$name;
}
//新數組
//Array(
//[0]=>1
//[$id_new]=>$name_new懂沒?
//)
E. php 怎麼把二維數組轉化成一維數組
這里主要介紹了PHP實現一維數組轉二維數組的方法,實例分析了php操作數組的技巧,具有一定參考借鑒價值,需要的話可以參考下
以下實例講述了PHP實現一維數組轉二維數組的方法。分享供大家參考。具體實現方法如下:
<?php
$asr[1] = array("a","b","c","d");
$asr[2] = array("a","b","c","d");
$asr[3] = array("a","b","c","d");
$newarray = array();
foreach($asr as $a)
{
$newarray[] = $a;
}
print_r($newarray);
?>
如果想多了解這方面的內容詳細可以去後盾人平台去看看學習一下的,我自己就是在裡面學習。
F. php 如何把多個一維數組合並成二維數組
你可以這樣操作,新建一個數組,然後用array_push()函數,依次把2個一維數據進行壓棧處理。然後就成了一個二維數組了。
G. PHP二維數組轉一維數組
其實這是一個數組轉置演算法,是很常用的演算法,例子程序代碼如下:
<?php
$arr=array(
'oneid' => array ('4','5'),
'id' => array ('4','5'),
'Rname' => array ('商人' ,'VIP' ),
'R0' => array ('30000' ,'100001' ),
'R1' => array ('100000' ,'5000000' ),
'chkall' => 'on');
echo "原始數組:\n";
print_r($arr);
$arr2=array();
foreach ($arr as $k=>$v) {
if (is_array($v)) {
foreach ($v as $k2=>$v2) $arr2[$k2][$k]=$v2;
}
}
echo "轉換後的數組:\n";
print_r($arr2);
?>
以上程序的運行結果為:
原始數組:
Array
(
[oneid] => Array
(
[0] => 4
[1] => 5
)
[id] => Array
(
[0] => 4
[1] => 5
)
[Rname] => Array
(
[0] => 商人
[1] => VIP
)
[R0] => Array
(
[0] => 30000
[1] => 100001
)
[R1] => Array
(
[0] => 100000
[1] => 5000000
)
[chkall] => on
)
轉換後的數組:
Array
(
[0] => Array
(
[oneid] => 4
[id] => 4
[Rname] => 商人
[R0] => 30000
[R1] => 100000
)
[1] => Array
(
[oneid] => 5
[id] => 5
[Rname] => VIP
[R0] => 100001
[R1] => 5000000
)
)
H. PHP 多維固定數組轉換成二維數組
functiondofor_child($array,$list,$k){
if(is_array($array)){
$k++;
foreach($arrayas$key=>$ar){
if(!is_array($ar)){
$list[$k][$key]=$ar;
}else{
returndofor_child($ar,$list,$k);
}
}
}
return$list;
}
$arr=dofor_child($array1,$list,-1);
var_mp($arr);
exit;
I. php 如何取二維數組中某個值,並組合成另一個一維數組進行implode
<?php
$array=array('0'=>array('name'=>寬喊'aaa'慎拍野,'id'=>'22222'),'1'=>array('name'=>'bbb','id'=>'333'));
$new=array();
foreach($arrayas$v){
$new[]=$v['id'];
}
$num賀豎=join(',',$new);
echo$num;
?>