導航:首頁 > 編程語言 > php關聯數組

php關聯數組

發布時間:2022-02-04 16:53:58

php 多個一維關聯數組去重

因為不太了解你其他業務,這里通過對多個數組觀察發現,他們的鍵名都是一致的。所以有2個簡單的辦法

(1)先翻轉一維數組,然後進行合並,再翻轉回來

這里就不寫詳細代碼,寫下簡單過程

  1. $array_a =array_flip($array_a);

    這樣交換後的數組內容如下

    Array
    (
    [DHL] =>carrier
    )

    Array
    (
    [HKPT] =>carrier
    )

    ....

  2. 合並數組,使用array_merge,數組中有相同的字元串鍵名,則該鍵名後面的值將覆蓋前一個值

    $mergeArray = array_merge($array_a,$array_b,$array_c...);

    這樣得到一個數組,裡面的元素都是鍵名不重復的,內容如下

    Array

    (

    [DHL] =>carrier

    [HKPT] =>carrier

    ....

    )

  3. 還原數組,這里如果要完全打散成一個一個的一維數組,就直接array_shift,同時翻轉回來

    $array_a =array_shift($mergeArray);$array_a =array_flip($array_a);

    $array_b =array_shift($mergeArray);$array_b=array_flip($array_b);

    ...

    這里一個一個執行可以用for循環替代,數組中有多少個元素就執行多少次,




(2)最簡單的辦法,只從你提供的例子來說,鍵名都一樣,直接先去掉鍵名,然後組合成一個數字索引的數組,直接array-unique,再把鍵名放回去


如果有不清楚可以發消息

㈡ PHP 關聯數組應用問題

不會報錯,如果你的程序報錯了那就是因為你的變數少了$,$Books,因為php的++操作會自動強制轉換成int,沒有初始化的會從0開始。 這種問題直接運行測試就能知道結果,少點上來問,多動手,別瞎猜。

㈢ 請問php中什麼是關聯數組

$array=array(1,2,3,'k'=>'6');

echo $array['k'];//輸出6,這就是關聯數組,注意K與6的關系

㈣ php 怎麼把索引數組賦值給關聯數組

在PHP中可以用關聯數組的形式表示如下:
$grade=array(name=>li kui,age=>163);
只要指出一點的就是=>,這個運算符非常的形象,一看就能夠明白:鍵為name的值是li kui;鍵為age的值是163。當然你也可以用以下的形式來創建關聯數組:
$grade["name"]=li kui;
$grade["age"]=16;
PHP中的多維數組
在多維數組中,主數組中的每個元素也是一個數組。在子數組中的每個元素也可以是數組,以此類推。同樣我們以學校里的班級為例來說明如何定義多維數組。
所謂多維數組,無非就是在「一維數組」中再加入一個數組,這就是嵌套吧。在學校里我們知道,一個年級可能有多個班級,如一班、二班、三班等,用多維數組表示如下:
$school=array(1=>array(name=>li kui,age=>163),
2=>array(name=>wu song,age=>183)
&&
);
如果你要訪問wu song,按如下的形式訪問即可:
print $school[2][name]; //輸出wu song

㈤ php 如何將查詢的結果集放到關聯數組

$rs=mysql_query($sql);
while($row=mysql_fetch_array($rs)){
$rows[]=$row;

}
print_r($rows);

㈥ php判斷數組是關聯數組還是數值數組

具體思路:獲取數組的所有鍵:「array_keys()」
遍歷所有鍵判斷是否按照順序從0開始每個增一。
具體方法如下:
function _checkAssocArray($arr)
{
$index = 0;
foreach (array_keys($arr) as $key) {
if ($index++ != $key) return false;
}
return true;
}
邏輯很簡單,關聯數組的鍵不會全部都按照:0,1,2,3…的順序遞增,如果它確實這樣,那麼和數值數組沒有任何區別,相同處理即可。
網上有另外一種思路:將數組所有的鍵與一個(0,數組長度)的新數組求差,

㈦ 如何添加,刪除PHP關聯數組

示例如下:

<?php
//定義一個數組
$arr=array();

//添加元素
$arr['name']='';
$arr['url']='com';

//刪除某個元素
unset($arr['url']);

//刪除數組
unset($arr);

㈧ php中怎樣向關聯數組的指定位置插入另一個數組的元素

這個功能需求來自於網站運營策略,舉倒子:
在一個排行列表中,默認有以下元素,順序有一定的依據,假設是按下載次數排列。

$rows = array(
array('name'=>'QQ2010'),
array('name'=>'QQ2009'),
array('name'=>'迅雷5'),
array('name'=>'飛信2010'),
array('name'=>'Kugoo2010'),
array('name'=>'TTplayer'),
array('name'=>'Firefox4.0'),
array('name'=>'美圖秀秀'),
array('name'=>'360safe'),
array('name'=>'Chrome6')
);

如果有一個客戶[可牛殺毒]想買花10元/元下我們第二個位置,可以大家想,直接把QQ2009替換掉不就完事了嗎。不,那樣的話用戶體驗並不好,明明QQ2009是一個下載次數比較多的軟體,為什麼在列表中卻沒有了呢。

其實我們真正的需求是把QQ2009以下的單元都往後推,騰出第二個位置來給[可牛殺毒]。如果頁面中只能顯示10個單元,那倒霉的就是[Chrome6]了,誰叫他們付費買我們的位置呢,呵呵。

再說到程序原理上來吧,PHP要實現這個需求,挺簡單,用數組函數array_splice就可以了,具體用法參照PHP手冊。

給一個完整的例子吧:

<?php
$rows = array(
array('name'=>'QQ2010',),
array('name'=>'QQ2009',),
array('name'=>'迅雷5',),
array('name'=>'飛信2010',),
array('name'=>'Kugoo2010',),
array('name'=>'TTplayer',),
array('name'=>'Firefox4.0',),
array('name'=>'美圖秀秀',),
array('name'=>'360safe',),
array('name'=>'Chrome6',),
);

$pop = array(
'2'=>array('name'=>'可牛殺毒'),
'5'=>array('name'=>'金山詞霸2010'),
);

foreach($pop as $key=>$p){
array_splice($rows, $key-1, 0, array($p));
}

var_mp($rows);
?>

最近的結果是:

array(12) {
[0]=>
array(1) {
["name"]=>
string(6) "QQ2010"
}
[1]=>
array(1) {
["name"]=>
string(8) "可牛殺毒"
}
[2]=>
array(1) {
["name"]=>
string(6) "QQ2009"
}
[3]=>
array(1) {
["name"]=>
string(5) "迅雷5"
}
[4]=>
array(1) {
["name"]=>
string(12) "金山詞霸2010"
}
[5]=>
array(1) {
["name"]=>
string(8) "飛信2010"
}
[6]=>
array(1) {
["name"]=>
string(9) "Kugoo2010"
}
[7]=>
array(1) {
["name"]=>
string(8) "TTplayer"
}
[8]=>
array(1) {
["name"]=>
string(10) "Firefox4.0"
}
[9]=>
array(1) {
["name"]=>
string(8) "美圖秀秀"
}
[10]=>
array(1) {
["name"]=>
string(7) "360safe"
}
[11]=>
array(1) {
["name"]=>
string(7) "Chrome6"
}
}

㈨ PHP怎樣給一個關聯數組的頭部增加一項

一維hash數組用array_merge可以的,多維混合下標且存在重復下標時,要慎用array_merge(還是逐一遍歷數組元素更妥當,lotusphp的db配置數組就遇到過),會出現意...

㈩ php怎麼把關聯數組轉成索引數組

PHP和PERL、VB不同,其只有「數組」,沒有單獨的「關聯數組」類型,實際上PHP的所有數組都是關聯數組,當沒有指定鍵值的時候,鍵值為0、1、2……
php中定義數組的方法:
PHP定義數組的格式
數組名=array();
如:$aa=array();//這樣就定義了一個數組,
之後給元素賦值:
$aa[0]="9016";
$aa[1]="9017";
$aa[2]="9018";
PHP輸出數組的方法:
foreach($aa as $val)
{echo$val;}
也可以在定義數組時直接賦值
$aa=array(0=>"9016",1=>"9017";2=>"9018");
PHP的數組還可以用字元做下標,不一定要數字.
$aa["name"]="Joan";
$aa["num"]="9018";
$aa["email"]="[email protected]";
也可以這樣
$aa=array("name"=>"joan","num"=>"9018","email"=>"[email protected]");
將一個一維數組的元素也定義為數組,就是一個二維數組,
$aa=array(0=>"a1",1=>"a2");
$bb=array(0=>"b1",1=>"b2");
$cc=array(0=>$aa;1=>$bb);此時,$cc[0]也是一個數組,$cc[1]也是一個數組,$cc就是一個二維數組。
同理,三維,四維數組也可以繼續定義下去。
數組的元素不僅於數字和字元串,可以是類的對象。

閱讀全文

與php關聯數組相關的資料

熱點內容
星耀巴西實況足球8解壓碼 瀏覽:163
根伺服器怎麼連接的 瀏覽:243
php是否圖片url 瀏覽:557
vps綁定域名linux 瀏覽:338
android開發一年經驗 瀏覽:523
什麼叫做解壓到根目錄下 瀏覽:503
prom文件夾 瀏覽:728
不規則土方的演算法 瀏覽:211
tor加密貨幣網站 瀏覽:451
linux轉ansi 瀏覽:738
網站源碼怎麼查 瀏覽:689
高cpu雲伺服器 瀏覽:367
androidwebrtcaecm 瀏覽:983
阿里雲部署java 瀏覽:638
雲是不是就是個大的伺服器 瀏覽:583
如何建立linux日誌管理伺服器 瀏覽:772
悟空頭圖標是什麼APP 瀏覽:555
linuxandroid虛擬機 瀏覽:281
ps李濤pdf 瀏覽:638
linuxfork線程 瀏覽:97