導航:首頁 > 編程語言 > php一維數組拆分

php一維數組拆分

發布時間:2022-04-19 19:56:08

php 這種格式數組怎麼拆分

示常式序代碼:

代碼文本:

<?php

$arr=array("11111|2222|3333","hello","cat","444|555|666");

print_r($arr);//原始

$arr2=[];

$k0=explode('|',$arr[0]);

$k3=explode('|',$arr[3]);

for($i=0;$i<count($k0);$i++) $arr2[]=array($k0[$i], $arr[1], $arr[2], $k3[$i]);

print_r($arr2);//結果

?>

Ⅱ php 數組拆分

$arr=array(
array(
"name"=>"蘋果",
"path"=>"食物-水果"
),
array(
"name"=>"大白菜",
"path"=>"食物-蔬菜"
),
array(
"name"=>"大白菜1",
"path"=>"食物-蔬菜"
),
array(
"name"=>"大白菜2",
"path"=>"食物-蔬菜"
),
array(
"name"=>"大眾牌子xxx",
"path"=>"汽車-大眾"
),
);
$result=array();
foreach($arras$v){
$path=explode("-",$v['path']);
if(!is_array($result[$path[0]])){
$result[$path[0]]=array();
}
if(!is_array($result[$path[0]][$path[1]])){
$result[$path[0]][$path[1]]=array();
}
array_push($result[$path[0]][$path[1]],$v['name']);
}
var_mp($result);

Ⅲ php怎樣將數組拆分後傳遞給函數

因為你的標題並不是很清楚的表達你的意思,所以只能大概猜測。
以下代碼,將數組一個一個傳遞給函數,你舉一返三應該知道怎麼寫你要的代碼。

$arr=array("網路貼吧","且聽風吟福利吧","三體教程","豆瓣電影");
foreach($arras$v){
echotestfunc($v);
}
functiontestfunc($str){
return$str;
}

Ⅳ PHP 把二維數組按下標拆分成一維數組

thinkphp將二維數組變為標簽適用的一維數組

$projectList=arr1tag($projectList,array('','

請選擇

'),'project_name');

//

其中

$list

為傳值過來的二維數組,

$default

為默認值,

$k

為指定的表欄位

functionarr1tag($list,$default='',$k=''){

$tmp='';

if(array($list)){

if(array($default)){

$tmp[$default[0]]=$default[1];

}

foreach($listas$k1=>$v1){

$tmp[$k1+1]=$v1[$k];

}

}

return$tmp;

}

$projectList=arr2tag($projectList,array('','

請選擇

'),'');

//

根據數組下標獲取對應值

functionarray_index2val($array,$index=0){

$value='';

if(is_array($array)){

$i=0;

foreach($arrayas$val){

if($i===$index){

$value=$val;

break;

}

$i++;

}

}

return$value;

}

//

把資料庫中調出的數組轉換成可以使用模版標簽的數組,其中

$default

為默認值,

$k

為指

定的表欄位

functionarr2tag($arr,$default=NULL,$K=NULL){

$tmp='';

if(is_array($arr)){

if(is_array($default)){

$tmp[$default[0]]=$default[1];

if($type==1){

$tmp[$default[2]]=$default[3];

}

}

foreach($arras$key=>$val){

if(is_array($K)){

$tmp[$val[$K[0]]]=$val[$K[1]];

}else{

$tmp[array_index2val($val,0)]=array_index2val($val,1);

}

}

}

return$tmp;

}

將讀取資料庫的內容直接轉換為一維數組,

該方法大多用於

select

標簽

$this->where($where)->getField('id,name');

得出的內容為

array(

'id'=>'name',

)

方法四參考文獻(http://bbs.hounwang.com/)

<?php

// 後盾網團隊

$arr = array(

1 => array(

'a' => 12,

'b' => 34,

),

2 => array(

'c' => 56,

'd' => 78,

),

);

$res = doXxxx($arr);

var_mp($res);

function doXxxx($arr = array()) {

$data = array();

if (!is_array($arr) || empty($arr)) {

return $data;

}

foreach ($arr as $key => $item) {

$data += $item;

}

return $data;

}

Ⅳ php 如何把二維數組拆分一維數組

//假設你的這個二維數組是$array;
$result = array();
foreach( $array as $k=>$v ){
$result[] = $v['deviceid'];
}

Ⅵ php如何將一個數組中某一段的值剪切出來拆分成兩個數組

<?php
$arr=array(1,2,3,4,5,6,7,8,9);
foreach($arras$key=>$value){
if($value>=6){
$arr1[]=$value;
}else{
$arr2[]=$value;
}
}
echo"<pre>";
print_r($arr1);
echo"<hr/>";
print_r($arr2);
echo"</pre>";
?>

結果如下

Array
(
[0] => 6
[1] => 7
[2] => 8
[3] => 9
)


Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)

也可以採用array_chunk() 函數

array_chunk() 函數把一個數組分割為新的數組塊。

望採納 Thx

Ⅶ php如何把一組數組拆分為兩部分分別存入資料庫中

<?php$data = array("4,0,9#1_1", "4,5,5#1_1","4,5,1#1_1", "7,2,4#1_1", "4,4,3#1_1", "8,8,0#2_1","2,2,9#2_1","0,0,6#2_1", "0,0,7#2_1","3,3,8#2_1" );$result1 = array();
$result2 = array();
foreach($data as $key=>$value)
{
$str1 = '#1_1';
$str2 = '#2_1'; if(strpos($value,$str1))
{
$tmp = str_replace($str1,'',$value);
$result1[] = $tmp;
}
else if(strpos($value,$str2))
{
$tmp = str_replace($str2,'',$value);
$result2[] = $tmp;
}
}
print_r($result1);
print_r($result2);
?>
結果:Array ( [0] => 4,0,9 [1] => 4,5,5 [2] => 4,5,1 [3] => 7,2,4 [4] => 4,4,3 ) Array ( [0] => 8,8,0 [1] => 2,2,9 [2] => 0,0,6 [3] => 0,0,7 [4] => 3,3,8 )樓上大哥的是對的~~

Ⅷ PHP一維數組變成二維數組

<?php
$asr =array("2","3","4","5");
$new_array = array_chunk($asr,1); //將原數組按每個一組分成二維數組 $new_array[0][0]=2 $new_array[1][0]=3

for($i=0;$i<4;$i++){ //循環賦值
$new_array[$i][1]= $new_array[$i][0]*2;
echo $new_array[$i][1]." ";
}
?>
看看這樣是你想要的不

Ⅸ php數組拆分合並優化

explode

使用一個字元串分割另一個字元串

$str = "11,22,33";$arr = explode(",",$str);
print_r($arr);Array(
[0] => 11
[1] => 22
[2] => 33)12345678910

implode

將一個一維數組的值轉化為字元串

$arr = [11,22,33];$str = implode("#",$arr);echo $str;11#22#3312345

split

用正則表達式將字元串分割到數組中

preg_split()函數使用了Perl兼容正則表達式語法,通常是比split()更快的替代方案。如果不需要正則表達式的威力,則使用explode()更快,這樣就不會招致正則表達式引擎的浪費。

該函數在PHP7中已被廢棄

$str = "123dqaw76eqwv8902fwer12356";$arr = split("[a-z]+", $str);
print_r($arr);Array(
[0] => 123
[1] => 76
[2] => 8902
[3] => 12356)1234567891011

preg_split

通過一個正則表達式分隔字元串

如果你不需要正則表達式功能,可以有更快(並且更簡單)的選擇比如 explode() 或 str_split()。

如果沒有成功匹配,將會返回一個數組,包含了單個元素,即輸入的字元串。

$str = "123dqaw76eqwv8902fwer12356";$arr = preg_split("/[a-z]+/i", $str);
print_r($arr);Array(
[0] => 123
[1] => 76
[2] => 8902
[3] => 12356)1234567891011

str_split

將字元串轉換為數組

$str = "hello world";
print_r(str_split($str));
print_r(str_split($str, 3));Array(
[0] => h
[1] => e
[2] => l
[3] => l
[4] => o
[5] =>
[6] => w
[7] => o
[8] => r
[9] => l
[10] => d
)Array(
[0] => hel
[1] => lo
[2] => wor
[3] => ld
)

array_chunk

將一個數組分割成多個

$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));
print_r(array_chunk($input_array, 2, true));Array(
[0] => Array
(
[0] => a
[1] => b
)

[1] => Array
(
[0] => c
[1] => d
)

[2] => Array
(
[0] => e
)

)Array(
[0] => Array
(
[0] => a
[1] => b
)

[1] => Array
(
[2] => c
[3] => d
)

[2] => Array
(
[4] => e
)

)

array_combine

創建一個數組,用一個數組的值作為其鍵名,另一個數組的值作為其值

$a = array('green', 'red', 'yellow');$b = array('avocado', 'apple', 'banana');$c = array_combine($a, $b);
print_r($c);Array(
[green] => avocado
[red] => apple
[yellow] => banana
)1234567891011

array_merge

合並一個或多個數組。一個數組中的值附加在前一個數組的後面,返回作為結果的數組。

別忘了數字鍵名將會被重新編號!

$array1 = array("color" => "red", 2, 4);$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);$result = array_merge($array1, $array2);
print_r($result);Array(
[color] => red
[0] => 2
[1] => 4)Array(
[0] => a
[1] => b
[color] => green
[shape] => trapezoid
[2] => 4)Array(
[color] => green
[0] => 2
[1] => 4
[2] => a
[3] => b
[shape] => trapezoid
[4] => 4)26272829

如果你想完全保留原有數組並只想新的數組附加到後面,用 + 運算符。如果兩個被合並的數組含有相同的key,則保留第一個,忽略後邊的。

$array1 = array(0 => 'zero_a', 2 => 'two_a', 3 => 'three_a');$array2 = array(1 => 'one_b', 3 => 'three_b', 4 => 'four_b');$result = $array1 + $array2;
print_r($result);Array(
[0] => zero_a
[2] => two_a
[3] => three_a
[1] => one_b
[4] => four_b
)12345678910111213

array_merge_recursive

遞歸地合並一個或多個數組

如果輸入的數組中有相同的字元串鍵名,則這些值會被合並到一個數組中去,這將遞歸下去,因此如果一個值本身是一個數組,本函數將按照相應的條目把它合並為另一個數組。然而,如果數組具有相同的數組鍵名,後一個值將不會覆蓋原來的值,而是附加到後面。

$ar1 = array("color" => array("favorite" => "red"), 5);$ar2 = array(10, "color" => array("favorite" => "green", "blue"));$result = array_merge_recursive($ar1, $ar2);
print_r($ar1);
print_r($ar2);
print_r($result);Array(
[color] => Array
(
[favorite] => red
)

[0] => 5)Array(
[0] => 10
[color] => Array
(
[favorite] => green
[0] => blue
)

)Array(
[color] => Array
(
[favorite] => Array
(
[0] => red
[1] => green
)

[0] => blue
)

[0] => 5
[1] => 10)

compact

建立一個數組,包括變數名和它們的值

對每個參數,compact() 在當前的符號表中查找該變數名並將它添加到輸出的數組中,變數名成為鍵名而變數的內容成為該鍵的值。

任何沒有變數名與之對應的字元串都被略過。

$city = "San Francisco";$state = "CA";$event = "SIGGRAPH";$location_vars = array("city", "state");$result = compact("event", "nothing_here", $location_vars);
print_r($result);Array(
[event] => SIGGRAPH
[city] => San Francisco
[state] => CA
)12345678910111213

extract

從數組中將變數導入到當前的符號表

檢查每個鍵名看是否可以作為一個合法的變數名,同時也檢查和符號表中已有的變數名的沖突。

返回成功導入到符號表中的變數數目。

$var_array = [ "color" => "blue", "size" => "medium", "shape" => "sphere"];
extract($var_array);echo "$color, $size, $shape ";

blue, medium, sphere123456789

參考

Ⅹ 怎麼把php一維數組,分為每3個連續的為一組

假如原數組為$aaa的話
$bbb= array();
for($i=0;$i<ceil(count($aaa));$i++)
{
$bbb[] = array_slice($aaa, $i * 3 ,3);
}

print_r($bbb);

閱讀全文

與php一維數組拆分相關的資料

熱點內容
程序員喜歡留指甲嗎 瀏覽:516
七牛雲伺服器收費標准 瀏覽:627
時光相冊加密空間密碼忘記 瀏覽:474
華為雲為用戶提供的服務雲伺服器 瀏覽:634
minecraftlinux伺服器搭建 瀏覽:376
linux命令新建文件 瀏覽:708
長線pdf 瀏覽:607
程序員電腦支持手寫 瀏覽:414
解壓頭戴式耳機推薦 瀏覽:344
紙條app上怎麼樣看對方主頁 瀏覽:883
編譯英語單詞怎麼寫 瀏覽:249
編譯原理和匯編原理的區別 瀏覽:864
如何給加密的pdf解密 瀏覽:770
華為盒子時間同步伺服器地址 瀏覽:95
python處理excel亂碼 瀏覽:391
mysql的命令行 瀏覽:822
jpeg採用什麼演算法 瀏覽:701
程序員紅軸薄膜 瀏覽:306
洗臉盆壓縮 瀏覽:780
dpd是什麼演算法 瀏覽:157