程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP自學之路-----走進數組及相關數組函數

PHP自學之路-----走進數組及相關數組函數

編輯:關於PHP編程

PHP數組:
     數組時一組關鍵字和值得集合,值可以是任何一種類型;看下面簡單的入門案例:
[php]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
 <head> 
  <title> 數組入門 </title> 
  <meta http-equiv="content-type"  content="text/html;charset=utf-8"> 
 </head> 
 <body> 
 <?php 
    $hens[0]=3; 
    $hens[1]=5; 
    $hens[2]=2.5; 
    $hens[3]=4; 
    $hens[4]=3.5; 
    $hens[5]=17; 
 
    //為了計算數組元素的個數,使用系統函數count;  
    echo "最共有".count($hens)." 只雞<br/>"; 
    $allwight=0; 
    for($i=0;$i<count($hens);$i++){ 
        echo "第".$i."只雞重量".$hens[$i]."<br/>"; 
        $allwight+=$hens[$i]; 
    } 
 
    echo "最重量為:".$allwight.";平均重量為:".$allwight/count($hens); 
 ?> 
   
 </body> 
</html> 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> 數組入門 </title>
  <meta http-equiv="content-type"  content="text/html;charset=utf-8">
 </head>
 <body>
 <?php
    $hens[0]=3;
    $hens[1]=5;
    $hens[2]=2.5;
    $hens[3]=4;
    $hens[4]=3.5;
    $hens[5]=17;

 //為了計算數組元素的個數,使用系統函數count;
    echo "最共有".count($hens)." 只雞<br/>";
 $allwight=0;
 for($i=0;$i<count($hens);$i++){
        echo "第".$i."只雞重量".$hens[$i]."<br/>";
     $allwight+=$hens[$i];
 }

 echo "最重量為:".$allwight.";平均重量為:".$allwight/count($hens);
 ?>
 
 </body>
</html>[plain] view plaincopyprint?
最共有6 只雞 
第0只雞重量3 
第1只雞重量5 
第2只雞重量2.5 
第3只雞重量4 
第4只雞重量3.5 
第5只雞重量17 
最重量為:35;平均重量為:5.8333333333333 

最共有6 只雞
第0只雞重量3
第1只雞重量5
第2只雞重量2.5
第3只雞重量4
第4只雞重量3.5
第5只雞重量17
最重量為:35;平均重量為:5.8333333333333創建數組
創建數組的方式很多,上面例子是最普通的一種方式。
在PHP數組中,每一個元素的值可以是任意的類型!
第二種方式:
$arr= array(1,90,"hello",null);
第三種方式創建數組
 $arr["logo"] ="beijing";$arr["hsp"]=124;$arr[4]=678;
等同於下面的:
$arr=array("logo"=>"beijing","hsp"=>123,4=>678);
遍歷方式:
 foreach($arr as $key=>$val){
     echo $key."=".$var."<br/>";
}
 第三種方式 指定數組不能用for循環訪問,應該用上面的方式遍歷。
[php] 
//數組注意事項:  
//我們在創建數組的時候,如果沒有給某個元素制定下標,PHP會自動的用目前最大的那個下標值(整數),加上1作為該元素的下標。  
$arr=array(5=>"logo",55,56); 
$arr=array(5=>"logo",6=>55,7=>56); 

  //數組注意事項:
  //我們在創建數組的時候,如果沒有給某個元素制定下標,PHP會自動的用目前最大的那個下標值(整數),加上1作為該元素的下標。
  $arr=array(5=>"logo",55,56);
  $arr=array(5=>"logo",6=>55,7=>56);
 \
數組的一些應用
[php]
  <?php 
// 創建一個簡單的數組  
    $array = array(1, 2, 3, 4, 5); 
    print_r($array); 
    echo "<br/>"; 
 
// 現在刪除其中的所有單元,但保持數組本身的結構  
    foreach ($array as $i => $value) { 
        unset($array[$i]); 
   } 
   print_r($array); 
   echo "<br/>"; 
 
  // 添加一個單元(注意新的鍵名是 5,而不是你可能以為的 0)  
  $array[] = 6; 
  print_r($array); 
  echo "<br/>"; 
 
// 重新索引:  
$array = array_values($array); 
$array[] = 7; 
print_r($array); 
echo "<br/>"; 
var_dump($array); 
?>   

  <?php
// 創建一個簡單的數組
    $array = array(1, 2, 3, 4, 5);
    print_r($array);
    echo "<br/>";

// 現在刪除其中的所有單元,但保持數組本身的結構
    foreach ($array as $i => $value) {
        unset($array[$i]);
   }
   print_r($array);
   echo "<br/>";

  // 添加一個單元(注意新的鍵名是 5,而不是你可能以為的 0)
  $array[] = 6;
  print_r($array);
  echo "<br/>";

// 重新索引:
$array = array_values($array);
$array[] = 7;
print_r($array);
echo "<br/>";
var_dump($array);
?>  [plain] 
執行結果: 

執行結果:[plain]
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )  
Array ( )  
Array ( [5] => 6 )  
Array ( [0] => 6 [1] => 7 )  
array(2) { [0]=> int(6) [1]=> int(7) } 

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
Array ( )
Array ( [5] => 6 )
Array ( [0] => 6 [1] => 7 )
array(2) { [0]=> int(6) [1]=> int(7) }

PHP相關的常用函數
1、count
    統計數組元素的個數,使用:count($arr);
2、is-array
   判斷是否為數組,is_array($arr);
3、print_r 和var_dump(可顯示數組元素類型)
    顯示數組信息
4、explode(在實際開發中,用途比較大)
   拆分字符串函數。explode(“按照什麼拆分”,字符串)
5、foreach
    數組遍歷函數:
  [plain] 
 foreach($arr as $key=>$val){ 
 
     echo $key."=".$var."<br/>"; 
 

 foreach($arr as $key=>$val){

     echo $key."=".$var."<br/>";

}6、unset
  unset()刪除數組中的某個元素,但是不會重組索引。前面的例子已經說明!
7、array_values
    重新索引,一般和上面的函數配合使用!具體看什麼的例子


數組比較
 
[php
<?php 
$a = array("a" => "apple", "b" => "banana"); 
$b = array("a" => "pear", "b" => "strawberry", "c" => "cherry"); 
 
$c = $a + $b; // Union of $a and $b  
echo "Union of \$a and \$b: \n"; 
var_dump($c); 
 
$c = $b + $a; // Union of $b and $a  
echo "Union of \$b and \$a: \n"; 
var_dump($c); 
?>  

<?php
$a = array("a" => "apple", "b" => "banana");
$b = array("a" => "pear", "b" => "strawberry", "c" => "cherry");

$c = $a + $b; // Union of $a and $b
echo "Union of \$a and \$b: \n";
var_dump($c);

$c = $b + $a; // Union of $b and $a
echo "Union of \$b and \$a: \n";
var_dump($c);
?> [plain] 
Union of $a and $b: 
array(3) { 
  ["a"]=> 
  string(5) "apple" 
  ["b"]=> 
  string(6) "banana" 
  ["c"]=> 
  string(6) "cherry" 

Union of $b and $a: 
array(3) { 
  ["a"]=> 
  string(4) "pear" 
  ["b"]=> 
  string(10) "strawberry" 
  ["c"]=> 
  string(6) "cherry" 
}  

Union of $a and $b:
array(3) {
  ["a"]=>
  string(5) "apple"
  ["b"]=>
  string(6) "banana"
  ["c"]=>
  string(6) "cherry"
}
Union of $b and $a:
array(3) {
  ["a"]=>
  string(4) "pear"
  ["b"]=>
  string(10) "strawberry"
  ["c"]=>
  string(6) "cherry"
}
[php] 
比較數組 
 
<?php 
$a = array("apple", "banana"); 
$b = array(1 => "banana", "0" => "apple"); 
 
var_dump($a == $b); // bool(true)  
var_dump($a === $b); // bool(false)  
?>   

比較數組

<?php
$a = array("apple", "banana");
$b = array(1 => "banana", "0" => "apple");

var_dump($a == $b); // bool(true)
var_dump($a === $b); // bool(false)
?> 

[php]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
 <head> 
  <title> 綜合案例 </title> 
  <meta http-equiv="content-type"  content="text/html;charset=utf-8"> 
 </head> 
 
 <body> 
 
  <?php 
  //error_reporting(E_ALL^E_NOTICE);  
     $aar=$_REQUEST["grade"]; 
     $arr=explode(",",$aar); 
     $allval=0; 
     foreach($arr as $val){ 
         $allval+=$val; 
     } 
 ?> 
 <h1>請輸入學員的成績,用逗號隔開</h1> 
 <form action="array03.php" method="post"> 
   <input type="text" name="grade" value="<?php echo $aar ?>"/> 
   <input type="submit" value="計算平均值"/> 
 </form> 
 
 <?php 
     $aar=$_REQUEST["grade"]; 
     $arr=explode(",",$aar); 
     $allval=0; 
     foreach($arr as $val){ 
         $allval+=$val; 
     } 
 ?> 
 <?php 
     echo "平均值:".round($allval/count($arr),2); 
 ?> 
   
 </body> 
</html> 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> 綜合案例 </title>
  <meta http-equiv="content-type"  content="text/html;charset=utf-8">
 </head>

 <body>

  <?php
  //error_reporting(E_ALL^E_NOTICE);
     $aar=$_REQUEST["grade"];
     $arr=explode(",",$aar);
  $allval=0;
  foreach($arr as $val){
   $allval+=$val;
  }
 ?>
 <h1>請輸入學員的成績,用逗號隔開</h1>
 <form action="array03.php" method="post">
   <input type="text" name="grade" value="<?php echo $aar ?>"/>
   <input type="submit" value="計算平均值"/>
 </form>

 <?php
     $aar=$_REQUEST["grade"];
     $arr=explode(",",$aar);
  $allval=0;
  foreach($arr as $val){
   $allval+=$val;
  }
 ?>
 <?php
  echo "平均值:".round($allval/count($arr),2);
 ?>
 
 </body>
</html>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved