一、前言
在寫 PHP 程式碼中,陣列是一種非常常用的資料結構。它可以儲存多個值,並且可以進行快速的遍歷和操作。在實際專案中,我們經常需要對數組進行修改。本文將以修改數組中的年齡為例,來介紹 PHP 中對數組進行修改的方法。
二、陣列的基本概念
在 PHP 中,陣列是一種複合型別的資料結構,它由一組鍵值對組成。陣列可以按照索引下標方式訪問,也可以按照關聯方式存取。以下是範例數組的定義方式:
// 索引数组 $car_brands = array("Benz", "BMW", "Audi", "Lexus"); // 关联数组 $car_prices = array("Benz"=>"500000", "BMW"=>"600000", "Audi"=>"400000", "Lexus"=>"700000");
其中,索引數組是指下標為數字的數組,也稱為順序數組。關聯數組是指下標為字串的數組,也稱為雜湊數組。在陣列中,下標可以重複,但是數值不能重複。
三、修改數組中的值
使用 PHP 修改數組中的值分為兩種情況,分別是修改索引數組中的值和修改關聯數組中的值。
要修改索引數組中的值,需要知道要修改的元素位置。假設我們有一個保存人員資訊的數組,其中的元素是以年齡為數組下標的關聯數組,那麼我們可以使用以下方式修改數組中某一個人的年齡:
//定义关联数组,以年龄作为数组下标 $person_info = array( "18" => "小明", "22" => "小红", "30" => "小黄" ); //修改小明的年龄为19岁 $person_info["19"] = $person_info["18"]; unset($person_info["18"]); print_r($person_info);
以上代碼中,我們先把小明的年齡從18 改為19,再透過unset 函數刪除原來的18 下標的元素。透過print_r 函數輸出修改後的陣列元素,得到的結果如下:
Array ( [19] => 小明 [22] => 小红 [30] => 小黄 )
關聯數組中,元素以字串作為下標的。透過下標找到對應的值,就可以進行修改。假設我們有一個保存人員資訊的數組,以姓名為數組下標的關聯數組,那麼可以通過以下方式修改某一個人的年齡:
//定义关联数组,以姓名作为数组下标 $person_info = array( "小明" => "18", "小红" => "22", "小黄" => "30" ); //修改小明的年龄为19岁 $person_info["小明"] = "19"; print_r($person_info);
以上代碼中,我們直接通過修改下標為“小明」的元素的值,從而實現修改對應人員的年齡。透過print_r 函數輸出修改後的數組,得到的結果如下:
Array ( [小明] => 19 [小红] => 22 [小黄] => 30 )
四、修改數組中多個元素的值
如果要修改數組中多個元素的值,則需要使用循環遍歷數組的方式來實現。以下是一個範例程式碼,它是根據身高和體重計算出BMI 並判斷健康狀況的範例,我們可以透過修改陣列中不同人員的身高和體重來實現多個元素的修改:
//定义关联数组,以姓名作为数组下标 $person_info = array( "小明" => array("height"=>175,"weight"=>75), "小红" => array("height"=>165,"weight"=>55), "小黄" => array("height"=>180,"weight"=>65) ); //循环遍历数组,计算BMI并输出 foreach ($person_info as $name => $value) { $bmi = $value["weight"] / (($value["height"]/100) * ($value["height"]/100)); echo $name."的BMI为:".$bmi.",“健康状况”为:"; if ($bmi < 18.5) { echo "体重过轻\n"; } elseif ($bmi >= 18.5 && $bmi < 24) { echo "健康体重\n"; } elseif ($bmi >= 24 && $bmi < 28) { echo "超重\n"; } else { echo "肥胖\n"; } } //修改小明的身高和体重 $person_info["小明"]["height"] = 180; $person_info["小明"]["weight"] = 80; echo "\n修改后的小明的数据为:\n"; print_r($person_info["小明"]);
以上程式碼中,首先定義了一個多維數組,保存了不同人員的身高和體重。透過循環遍歷數組,計算出對應人員的 BMI 值並輸出。之後,我們修改了小明的身高和體重,然後透過print_r 函數輸出修改後小明的身高和體重,得到的結果如下:
小明的BMI为:24.489795918367,"健康状况"为:超重 小红的BMI为:20.20202020202,"健康状况"为:健康体重 小黄的BMI为:20.061728395062,"健康状况"为:健康体重 修改后的小明的数据为: Array ( [height] => 180 [weight] => 80 )
五、總結
數組是PHP 中常用的資料結構之一,操作數組的方法也是比較常見的。修改數組中的元素是數組運算中的基本操作之一,需要我們對數組結構有深入的了解,掌握相應的語法方法後,方能在實際開發中使用起來更加自如。本文透過對 PHP 中如何使用陣列修改年齡進行了介紹,希望可以提供讀者參考。
以上是php數組怎麼修改年齡的詳細內容。更多資訊請關注PHP中文網其他相關文章!