php數組處理
⑴ php中數組處理
樓主可以用jion查詢把兩張表的結果合2為1
sql">SELECTcolumn_name(s)
FROMtable_name1
LEFTJOINtable_name2
ONtable_name1.column_name=table_name2.column_name
這樣出來的結果就直接為一個大數組
⑵ php處理數組中的數,在生成新的 數組
$z = '1803170117,3,10,9,4';
$a = implode(',',$z);
$y = $a[0];
array_shift($a);
$c = array_unshift($a,"substr($y,-1)");
$c = array_unshift($c,"substr($y,0,-1)");
⑶ php 處理數組
foreach($arrayas$v){//$array是要重組的數組
$val1[]=$v[0];
$val2[]=$v[1];
$val3[]=$v[2];
$val4[]=$v[3];
}
//生成4個同類數組
⑷ AJAX怎麼處理PHP返回的數組信息
你如果想讓後台以json格式返回數據,那麼php就一定要用標準的json格式來輸出數據,不要混雜其他無關數據。比如你的「返回的數據:」這幾個字就屬於多餘數據,ajax在接收到返回數據後就會轉換失敗。所以你的 echo "返回的數據:"; 應該刪掉(如果還有其他類似的輸出語句也要刪掉),確保輸出的數據只有 ["jeff-A-01.png","jeff-d-01.png"] 這樣的內容。
⑸ 用php實現數組數據的處理
$logis_name = array('韻達','順豐','申通','韻達');
$logis_no = array('123465','123654','654123','456789');
$data = array();
foreach($logis_name as $key => $value){
if(isset($data[base64_encode($value)])){
$data[base64_encode($value)] = $data[base64_encode($value)].','.$logis_no[$key];
}else{
$data[base64_encode($value)] = $logis_no[$key];
}
}
$data = implode('|',$data);
print_r($data);
⑹ PHP數組的幾個操作,求並集,交集,差集,數組
PHP數組的幾個操作,求並集,交集,差集,數組與字元串的相互轉換及數組去重
在php中如果我想要對兩個數組進行如並集、交集和差集操作,我們可直接使用php自帶的函數來操作如array_merge(),array_intersect(),array_diff().
計算數組的合並 array_merge與「+」的區別
array_merge() 函數把兩個或多個數組合並為一個數組。
如果鍵名有重復,該鍵的鍵值為最後一個鍵名對應的值(後面的覆蓋前面的),如果數組是數字索引的,則鍵名會以連續方式重新索引。
注釋:如果僅僅向 array_merge() 函數輸入了一個數組,且鍵名是整數,則該函數將返回帶有整數鍵名的新數組,其鍵名以 0 開始進行重新索引.代碼如下:
$a = array(1 => 'a', 'b', 'c');
$b = array(1 => 'aa', 2, 'c');
$union = array_merge($a, $b);
$plus = $a + $b;
print_r($union);
print_r($plus);
//結果依次為:
Array
{
[0]=> a
[1]=> b
[2]=> c
[3]=> aa
[4]=> 2
[5]=> c
}
Array
(
[1] => a
[2] => b
[3] => c
)
要合並的兩個數組中有相同的字元串鍵的時候,使用array_merge()會覆蓋掉原來的值,而使用「+」合並數組則會和用「+」號合並數組相同數字鍵一樣把最先出現的值作為最終結果返回,如下例:
$a2 = array('str' => 'a', 'b', 'c');
$b2 = array('str' => 'aa', 2, 'c');
$union2 = array_merge($a2, $b2);
$plus2 = $a2 + $b2;
print_r($union2);
print_r($plus2);
//結果依次為:
Array
(
[str] => aa
[0] => b
[1] => c
[2] => 2
[3] => c
)
Array
(
[str] => a
[0] => b
[1] => c
)
注:如果想用array_merge合並兩個數組,返回結果可能還會有相同的元素,這時候可以用array_unique()把相同的元素去掉
計算數組的交集
array_intersect() 函數返回兩個或多個數組的交集數組,結果數組包含了所有在被比較數組中,也同時出現在所有其他參數數組中的值,鍵名保留不變,注釋:僅有值用於比較,代碼如下:
$a = array('jpg','png','gif','bmp');
$b = array('JPG','txt','docx','bmp');
$intersection = array_intersect($a, $b);
還可以通過函數,獲取自己想要的(比如元素不區分大小寫),代碼如下:
$intersection2 = array_intersect(array_map('strtolower',$a), array_map('strtolower',$b));
print_r($intersection);
print_r($intersection2);
//結果依次為:
Array
(
[3] => bmp
)
Array (
[0] => jpg
[3] => bmp
)
計算數組的差集,代碼如下:
$old = array('jpg','png','gif','bmp');
$new = array('JPG','txt','docx','bmp');
$difference = array_diff($old, $new);
注:返回結果的元素包含$old的元素,不包括$new的元素
print_r($difference);
結果為:
Array
(
[0] => jpg
[1] => png
[2] => gif
)
也可以用函數先進行處理,再計算差集
array_diff() 函數返回兩個數組的差集數組。該數組包括了所有在被比較的數組中,但是不在任何其他參數數組中的鍵值,在返回的數組中,鍵名保持不變。
語法:array_diff(array1,array2,array3...)
代碼如下:
$difference = array_diff(array_map('strtolower',$old),
array_map('strtolower',$new));
數組轉換為字元串:
<?php
$arr = array('Hello','World!','I','love','Shanghai!');
echo implode(" ",$arr);
?>
字元串轉換為數組:
<?php
$str="1432532 ,4444";
$arr = explode(",",$str);
echo count($arr)."</br>";
print_r($arr);
?>
數組元素值去重
<?php
$a=array("a"=>"red","b"=>"green","c"=>"red");
print_r(
array_unique($a)
);
?>
針對有空格的字元串轉換成無空格的字元串
<?php
$str="1432532 ,67878";
$arr = explode(",",$str);
//echo count($arr)."</br>";
$str_u='';
for($i=0;$i<count($arr);$i++)
{
$str_u .=trim($arr[$i]).',';
}
echo $str_u;
?>
⑺ php數組處理
$a1=array(1,2,3);
$a2=array(4,5,6,7);
$a3=array(8,9,10);
$count1 = count($a1);
$count2 = count($a2);
$count3 = count($a3);
$max = min($count1,$count2,$count3);
for($i=0;$i<3;$i++)
{
$new[]=$a1[$i];
$new[]=$a2[$i];
$new[]=$a3[$i];
}
var_mp($new);
不過樓主太摳門了。那麼多財富居然沒懸賞。
⑻ PHP 數組處理...
$b=array();
foreach($a as $key=>$val)
{
isset($b[$val['DAY']]) or $b[$val['DAY']] = array('finalprice'=>0);
$b[$val['DAY']]['finalprice']+= $val['finalprice'];
}
⑼ PHP 數組處理
$array=array(
array("gypc"=>"545-843Q21710-8K31-2K","gxh"=>"10","hg"=>"4584","gxh10"=>"4584"),
array("gypc"=>"545-843Q21710-8K31-2K","gxh"=>"20","hg"=>"2000","gxh20"=>"2000"),
array("gypc"=>"545-843Q21710-8K31-2K","gxh"=>"30","hg"=>"2000","gxh30"=>"2000"),
array("gypc"=>"545-843Q21710-8K32-2K","gxh"=>"20","hg"=>"2412","gxh20"=>"2412"),
array("gypc"=>"545-843Q21710-8K32-2K","gxh"=>"30","hg"=>"2412","gxh30"=>"2412"),
);
var_mp(ArrangementArray($array));
functionArrangementArray($array)
{
$result=array();
$temp=0;
$temp1=0;
$key="gypc";
$keys=array("gxh10","gxh20","gxh30");
$temp_array=array();
if(!empty($array))
{
foreach($arrayAS$_key=>$_array)
{
if(!in_array($_array[$key],$temp_array))
{
$temp_array=array_merge($temp_array,array($_array[$key]));
$result[$temp++][$key]=$_array[$key];
}
foreach($_arrayAS$__key=>$__value)
{
if(in_array($__key,$keys))
{
$temp1=array_search($_array[$key],$temp_array);
$result[$temp1][$__key]=$__value;
}
}
}
}
return$result;
}
⑽ php怎麼處理這個數組
<?php
$arr="你上邊的數組";
$newArr=array();
foreach($arras$key=>$value){
if(key_exists($value['mid'],$newArr){
$newArr[$value['mid']['sum']+=$value['sum'];
}else{
$newArr[$value['mid']]=$value;
}
}