PHP專題-PHP陣列

wwwxgb66com-17176934555發表於2021-07-13

PHP陣列
陣列的型別

1.數字索引陣列
PHP數字索引組預設索引值是從數字0開始的,並不需要特別指定,PHP會知道為索引的鍵名賦一個值,然後從這個值開始自動增量

  1. <?php
  2. $name=array(“raymond”,”lilila”,”tony”);
  3. echo “{$name[0]}和{$name[1]}和{$name[2]}”;
  4. ?>

2.關聯陣列
關聯陣列的鍵名可以是數值和字串混合的形式,而不像數字索引陣列的鍵名只能為數字,在一個陣列中,只要鍵名中有1個不是數字,那麼這個陣列就叫做關聯陣列

  1. <?php
  2. //建立一個關聯陣列$newArray
  3. $newArray=array(“first”=>1,”2”=>”第二個元素的值”,”third”=>3);
  4. //修改third的值
  5. $newArray[“third”]=5;
  6. echo $newArray[“third”];
  7. ?>

陣列的構造
1.一維陣列

  1. <?php
  2. $info[0]=’A’;
  3. $info[1]=’B’;
  4. $info[‘abc’]=’C’;
  5. echo $info[0].$info[1].$info[“abc”];
  6. ?>

2.二維陣列與多維陣列

  1. <?php
  2. $company=array(
  3. array(‘CompanyID’=>’1001’,
  4. ‘Companyname’=>’Ganji.com’,
  5. ‘Address’=>’北京清華科技園’
  6. ),
  7. array(‘CompanyID’=>’1002’,
  8. ‘Companyname’=>’Ganji.com’,
  9. ‘Address’=>’北京清華科技園’
  10. ),
  11. array(‘CompanyID’=>’1003’,
  12. ‘Companyname’=>’Ganji.com’,
  13. ‘Address’=>’北京清華科技園’
  14. )
  15. );
  16. print_r($company);
  17. ?>

3.快速建立陣列
使用range()函式

  1. <?php
  2. $testArray=range(0,6);
  3. print_r($testArray);
  4. ?>
  5. =============
  6. <?php
  7. $even=range(0,10,3);//其中3表示遞增的步長
  8. print_r($even);
  9. ?>

4.為陣列追加資料

  1. <?php
  2. //建立一個新的空陣列,將一個變數指定為陣列型別
  3. $languages=array();
  4. //增加3個元素
  5. $languages[]=’漢語’;
  6. $languages[]=’法語’;
  7. $languages[]=’英語’;
  8. printf(“

    語言:%s.

    \n”,implode(‘,’,$languages));
  9. ?>

5.修改陣列內容

  1. <?php
  2. //建立一個新的空陣列,將一個變數指定為陣列型別
  3. $languages=array();
  4. //增加3個元素
  5. $languages[]=’漢語’;
  6. $languages[]=’法語’;
  7. $languages[]=’英語’;
  8. printf(“

    語言:%s.

    \n”,implode(‘,’,$languages));
  9. $languages[2]=’東北話’;
  10. printf(“

    語言:%s.

    \n”,implode(‘,’,$languages));
  11. ?>

6.數字索引陣列排序

  1. <?php
  2. $states=array(“中國”,”China”,”香港”,”Hongkong”);
  3. sort($states);
  4. print_r($states);
  5. ?>

7.關聯陣列排序

  1. <?php
  2. $states=array(“LN”=>”LiaoNing”,”BJ”=>”BeiJing”,”SH”=>”ShangHai”);
  3. echo ‘asort():按陣列關聯性排序:
    ‘;
  4. asort($states);
  5. print_r($states);
  6. echo ‘krsort():按陣列的索引值降序排序:
    ‘;
  7. ksort($states);
  8. print_r($states);
  9. ?>

8.陣列隨機抽取shuffle()和array_rand()

  1. <?php
  2. $cards=array(“1”,”2”,”3”,”4”,”5”,”6”);
  3. //把$cards陣列打亂
  4. shuffle($cards);
  5. print_r($cards);
  6. ?>

  7. <?php
  8. $arry=array(‘A’,’B’,’C’,’D’);
  9. $result=array_rand($arry);
  10. //顯示$array中隨機產生的索引值元素
  11. echo $arry[$result];
  12. ?>

9.統計陣列元素出現的次數
array_count_values()

  1. <?php
  2. $province=array(“Shanghai”,”Liaoning”,”Guangdong”,”Liaoning”,”Beijing”);
  3. $provinceFrequency=array_count_values($province);
  4. print_r($provinceFrequency);
  5. ?>

10.資料合併array_merge

  1. <?php
  2. $array_a=array(
  3. 1=>’新浪網’,
  4. 2=>’搜狐網’,
  5. 3=>’網易’,
  6. 4=>’新華網’
  7. );
  8. $array_b=array(
  9. ‘82’=>’優酷網’,
  10. 85=>’新華網’,
  11. 87=>’六間房’,
  12. 90=>’土豆網’
  13. );
  14. //兩個陣列的簡單合併可以使用加號(+)操作符直接合並,如:
  15. $array_c=$array_a+$array_b;
  16. print_r($array_c);
  17. $array_d=array_merge($array_a,$array_b);
  18. print_r($array_d);
  19. ?>

11.查詢陣列中鍵名是否存在

  1. <?php
  2. $state[“LN”]=”瀋陽”;
  3. $state[“BJ”]=”北京”;
  4. $state[“SH”]=”上海”;
  5. if (array_key_exists(“LN”, $state)){
  6. echo “遼寧省的省會在$state[LN]”;
  7. }
  8. ?>

12.查詢陣列值是否存在

  1. <?php
  2. $grades=array(100.94,7,67,89,100);
  3. if (in_array(“100”, $grades)){
  4. echo “有的同學考試成績達到了滿分”;
  5. }
  6. ?>

13.計算陣列中數值元素的和

  1. <?php
  2. $grades=array(42,”hello”,42);
  3. $total=array_sum($grades);
  4. print $total;
  5. ?>

14.去除陣列中重複的元素值

  1. <?php
  2. $countries=array(‘USA’=>’English’,’Spain’=>’Spanish’,
  3. ‘China’=>’Chinese’,’UK’=>’English’,
  4. ‘Mexico’=>’Spanish’,’Germany’=>’German’,
  5. ‘Colombia’=>’Spanish’,’Canada’=>’English’,
  6. ‘Russia’=>’Russian’,’Austria’=>’German’,
  7. ‘France’=>’French’,’Argentina’=>’Spanish’);
  8. //清理重複的陣列元素
  9. $languages=array_unique($countries);
  10. printf(“
    %s
    \n”,var_export($languages,TRUE));
  11. //按索引值顯示移除元素的數
  12. $languages=array_unique(array_values($countries));
  13. printf(“
    %s
    \n”,var_export($languages,TRUE));
  14. //重新索引排序
  15. $languages=array_unique(array_values($countries));
  16. printf(“
    %s
    \n”,var_export($languages,TRUE));
  17. ?>

15.移動陣列內部指標

  1. <?php
  2. //候選的一堆數字索引陣列,它儲存了以下3列值
  3. $fruits=array(“apple”,”orange”,”banana”);
  4. print_r($fruits);
  5. $fruit=current($fruits);
  6. echo “當前的水果:$fruit
    “;
  7. $fruit=next($fruits);
  8. echo “下一個水果:$fruit
    “;
  9. $fruit=prev($fruits);
  10. echo “上一個水果:$fruit
    “;
  11. $fruit=current($fruits);
  12. echo “當前的水果:$fruit
    “;
  13. $fruit=end($fruits);
  14. echo “最後面的水果:$fruit
    “;
  15. ?>
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章