php 數組的定義和初始化學習筆記

來源:互聯網
上載者:User

  什麼是數組?數組是一種編程結構,它是一個儲存一組或一系列數值的變數。

  比如人口普查時對個人的身份登記,如姓名、性別、民族、出生等就可作為數組。

  php教程中建立數組使用array()結構來定義,比如:

$people=array('name','sex','nation','brith');

  而如何顯示數組中的各元素的值,我們則是使用從0開始的索引,索引號在變數名稱後的方括弧中,比如:

<?php
$people=array('name','sex','nation','birth');
echo $people[2];
?>

  輸出的$people[2]就是顯示的是nation(索引第一項從0計數)。

  php除了支援數字索引數組以外,還支援相關數組。所謂相關數組,就是可自訂關鍵字來替換不直觀的數字索引,比如:

<?php
$peoples=array('xm'=>'name','xb'=>'sex','mz'=>'nation','cs'=>'birth');
echo $peoples['cs'];
?>

  使用相關數組使得輸出的選擇很直觀(不需要預先計算索引號然後輸出),定義的關鍵字和值之間使用“=>”符號定義。

  根據php數組元素的兩種顯示方式,還可以如變數一樣無需array()聲明和初始化,直接自動建立數字。比如

$people[0]='name';
$people[1]='sex';
$people[2]='nation';
$people[3]='brith';

  或者

$peoples['xm']='name';
$peoples['xb']='sex';
$peoples['mz']='nation';
$peoples['cs']='birth';

  該數組的大小根據所增加元素的多少動態變化。

  2,數組元素的顯示

  在如上使用的無論$people[2]也好,無論$peoples['cs']也好,都只是輸出已知的明確位置的數組元素值,如何快速輸出所有或部分的數組元素,使用迴圈語句無疑是最快的方法。

<?php
$people=array('name','sex','nation','birth');
for ($i=0;$i<4;$i++)
  echo "$people[$i] ";
?>

  除了使用瞭解迴圈次數的for迴圈以外,還可以使用對迴圈次數無須要求的foreach語句。

<?php
$people=array('name','sex','nation','birth');
foreach($people as $xiangmu)
  echo $xiangmu;
?>

  $xiangmu變數將儲存數組中的各元素值,依次顯示出來。當然,為了輸出的資料能間隔區分,可在數組元素之後輸出空格:

  echo $xiangmu." ";

現在來看一款php從數組裡篩選出重複的資料

 

<?php
$num = count($array);
if($num)
{
sort($array);
}
if($num!=0)
{
$m = $array[0];
$n = 0;
$kind=1;
echo $array[0]."----------";
for($z=0;$z<$num;$z++)
{
 if($m!=$array[$z])
 {
  echo $array[$z-1]." ";
  echo $array[$z];
  $kind=0;
  $m=$array[$z];
 }
 $n++;
 $m++;
//echo $array[$z]."'/n'";
}
if($kind==1)
{
 echo $array[$num-1]."重複的資料! ";
}
?>


相關數組函數

 list()

  array_walk

  讓使用者自訂函數能處理數組中的每一個元素。

  文法: int array_walk(array arr, string func);

  傳回值: 整數

參考 each() list()

  arsort

  將數組的值由大到小排序。

  文法: void arsort(array array);

參考 asort() rsort() ksort() sort()

  asort

  將數組的值由小到大排序。

  文法: void asort(array array);

  傳回值: 無

參考 arsort() rsort() ksort() sort()

  count

  計算變數或數組中的元素個數。

  文法: int count(mixed var);

  傳回值: 整數

參考 end() next() prev() reset()

  each

  返回數組中下一個元素的索引及值。

  文法: array each(array array);

  傳回值: 數組 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.