亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP 中的數組指針

PHP 中的數組指針

PHP
一只甜甜圈 2022-09-03 15:51:17
我對PHP中的數組指針有點困惑。下面的代碼工作正常:$ages = [1, 3, 5];while($age = current($ages)) {  echo $age . ", ";  next($ages);}但是我不知道為什么下面的代碼沒有打印出任何東西:$ages = [];for($i = 0; $i < 10; $i++) {  $ages[] = $i;}while($age = current($ages)) {  echo $age . ", ";  next($ages);}我也嘗試使用for循環進行打印,但在下面的代碼中只打印了for循環,while循環仍然沒有打印。$ages = [];for($i = 0; $i < 10; $i++) {  $ages[] = $i;}for($i = 0; $i < 10; $i++) {  echo $ages[$i] . ", ";}while($age = current($ages)) {  echo $age . ", ";  next($ages);}我真的不知道為什么它表現得這樣,任何人都可以幫我嗎?
查看完整描述

3 回答

?
LEATH

TA貢獻1936條經驗 獲得超7個贊

為什么它表現得像這樣


博士:由于新創建的數組的第一個元素 is 和 賦值運算符返回分配給變量的值,這會導致表達式計算為 ,因此 while-loop 的主體永遠不會運行。0false


運行 for 循環后,接收到的數組將為 。[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


首先,調用 將返回新創建的數組的第一個元素,即 ,然后賦值運算符將返回分配給變量的值,即 。然后,代碼將是:current($ages)0=$age0


while(0) {

  echo $age . ", ";

  next($ages);

}

0被評估為假,這就是為什么循環的主體永遠不會運行的原因。因此,沒有輸出到屏幕。


查看完整回答
反對 回復 2022-09-03
?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

您需要檢查 的結果是否與布爾值不同(意味著游標未找到該元素),而不僅僅是分配其值。當值為 時,你會得到 ,這會破壞循環。current()false0while(0)


$ages = [];

for($i = 0; $i < 10; $i++) {

  $ages[] = $i;

}

while($age = current($ages) !== false) {

  echo $age . ", ";

  next($ages);

}

https://3v4l.org/61WoL


但是,如果數組中的任何元素具有布爾值,這將失敗。因此,根本不建議像這樣循環訪問數組,而應該使用正確的工具,使用循環。這實際上不會移動光標,但您可以通過調用每次迭代來“使其”移動光標。falseforeachnext()


$ages = [];

for($i = 0; $i < 10; $i++) {

  $ages[] = $i;

}

foreach ($ages as $age) {

    echo current($ages).", ";

    next($ages);

}

如果您只想打印值,最好的方法是直接從循環打印,或者使用 .foreachimplode()


foreach ($ages as $age) {

    echo $age.", ";

}


echo impolode(",", $ages);


查看完整回答
反對 回復 2022-09-03
?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

首先,你的php代碼的語法是錯誤的:


將第 5 行替換為while($age == current($ages)) {


你用的不是用來比較的,而是用來比較的。嘗試這樣做,然后看看。===


此外,你可以用一種更簡單的方式做到這一點:


foreach($ages as $age) {

  echo "$age, ";

}


查看完整回答
反對 回復 2022-09-03
  • 3 回答
  • 0 關注
  • 78 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號