PHP-數組小記(一)

來源:互聯網
上載者:User

標籤:function   匹配   ddr   變數賦值   使用數組   為什麼   exist   als   pos   

1.each()
 1 <?php 2     /*each()函數取出數組當前 索引值對 以 數組 形式返回,並將指標向下移動*/ 3     $a=array(‘id‘=>1,‘name‘=>‘mike‘,‘age‘=>18,‘address‘=>‘New York‘); 4  5     var_dump(each($a));echo "<br>"; 6     var_dump(each($a));echo "<br>"; 7     var_dump(each($a));echo "<br>"; 8     var_dump(each($a));echo "<br>"; 9     var_dump(each($a));echo "<br>";10 ?>
2.數組的指標
 1 <?php 2     /*current()和key()函數分別取得數組當前的值和鍵,卻不移動指標*/ 3     $a=array(‘id‘=>1,‘name‘=>‘mike‘,‘age‘=>18,‘address‘=>‘New York‘); 4  5     var_dump(current($a));echo "<br>"; 6     var_dump(current($a));echo "<br>"; 7     var_dump(current($a));echo "<br>";//都輸出1 8  9     var_dump(key($a));echo "<br>";10     var_dump(key($a));echo "<br>";11     var_dump(key($a));echo "<br>";//都輸出id12 13     /*可以用prev()和next()函數將指標像前移或向後移*/14     next($a);15     echo current($a);//輸出mike16     echo key($a);//輸出name17 18     prev($a);19     echo current($a);//輸出120     echo key($a);//輸出id21 22     /*end()直接將指標只想最後一個,reset()將指標重設到第一個*/23     end($a);echo current($a);//New York24     reset($a);echo current($a);//125 26     /*用指標寫一個遍曆數組的函數*/27     function arraylist($a)28     {29         while($value=current($a))30         {31             $key=key($a);32             echo $key.‘=>‘.$value.‘,‘;33             next($a);34         }35         reset($a);36     }37     arraylist($a);38     arraylist($a);39 ?>
3.list()
 1 <?php 2     /*list()按數組的索引順序為傳入的變數賦值*/ 3     /*賦值的數組必須是索引數組*/ 4     $a=array(1,‘mike‘,18,‘New York‘); 5     list($id,$name,$age,$address)=$a; 6  7     echo $id;//1 8     echo $name;//mike 9     echo $age;//1810     echo $address;//New York11 12 13     /*用list()和each()函數可以遍曆出數組的鍵和值*/14     /*相當於foreach()*/15     while (list($key,$value)=each($a)){} //這裡$a可是是關聯陣列16 ?>
 4.array_values()
 1 <?php 2     /*array_values()傳入一個數組,返回一個按值的順序重建的索引數組*/ 3  4     /*處理一個順序混亂的索引數組*/ 5     $a=array(0=>‘id‘,5=>‘name‘,4=>‘age‘,2=>‘address‘); 6     var_dump(array_values($a)); 7  8     /*將關聯陣列轉變為索引數組*/ 9     $b=array(‘id‘=>1,‘name‘=>‘mike‘,‘age‘=>18,‘address‘=>‘New York‘);10     var_dump(array_values($b));11 ?>

 

5.array_keys()和array_search()
 1 <?php 2      /*通常我們都是使用數組名加下標或鍵名的方式獲得數組的值 3        但是,如果現在想反過來,像通過數組的值獲得數組的鍵名該怎麼做呢*/ 4   5       $a=array(‘id‘=>1,‘name‘=>‘mike‘,‘age‘=>18,‘address‘=>‘New York‘,‘xingming‘=>‘mike‘); 6       /*將值對應的鍵以數組形式返回,第三個參數致命為嚴格匹配,預設為false 7           為什麼要以數組返回呢,因為對應值的鍵可能不止有一個呀*/ 8       var_dump(array_keys($a,‘mike‘,true));//array(2) { [0]=> string(4) "name" [1]=> string(8) "xingming" } 9  10       var_dump(array_keys($a));//為指定值,那麼就將所有的鍵按順序返回11 12 13 14      /*array_search()函數與array_keys()類似,都是輸入值返回鍵名/*15      /*不同的是它們參數的位置不同*/16      /*並且array_search()返回一個鍵名,如果有多個則只返回第一個*/17      var_dump(array_search(‘mike‘,$a,true));// string(4) "name"18  ?>

 

 6.array_key_exists()和in_array()
 1 <?php   2     /*array_key_exists()用來判斷數組中是否存在這個鍵*/ 3     $a=array(‘id‘=>1,‘name‘=>‘mike‘,‘age‘=>18,‘address‘=>‘New York‘,‘xingming‘=>‘mike‘); 4     echo array_key_exists(‘name‘,$a);//1 5  6     /*如何判斷一個數組中是否存在一個值呢*/ 7     /*也可以用之前的array_keys()和array_search()*/ 8     /*這裡有更好的方法in_array()*/ 9 10     echo in_array(‘mike‘,$a,true);//111 ?>

 

PHP-數組小記(一)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.