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

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

為什么這不起作用?Php 數組自動替換值和短數組

為什么這不起作用?Php 數組自動替換值和短數組

PHP
元芳怎么了 2023-08-19 17:32:53
我需要在刪除的數組中選擇一個蘭特值,并短接我用這個小代碼得出的數組,但它保持在無限循環中,但這是奇怪的外觀<?php$array=array("1","2","3","4","5","6","7","8","9","0");$count=count($array);for ($il=1;$il<=$count;$il++){$array_value=array_rand($array, 1); $array_value_key = array_search($array_value, $array);$array_key_last=array_key_last($array);for($if=0;$if<=$array_key_last;$if++){if ($if==$array_value_key){    for($ia=$array_value_key;$ia<=$array_key_last;$ia++){                if ($ia<$array_key_last){            $ian=$ia+1;            $array[$ia]=$array[$ian];            }else{                unset($array[$ia]);                }            }        }    }print_r($array);     }    ?>那里的輸出每次都可能不同,就像這樣但永遠不會結束Array(    [0] => 1    [1] => 2    [2] => 3    [3] => 5    [4] => 6    [5] => 7    [6] => 8    [7] => 9    [8] => 0)Array(    [0] => 2    [1] => 3    [2] => 5    [3] => 6    [4] => 7    [5] => 8    [6] => 9    [7] => 0)^C我必須打破它,但正如你所看到的,在第一個循環中,按預期工作刪除了數字 4,在第二個循環中刪除了數字 1,但沒有完成第三個循環我復習了很多遍,得出問題的結論就行了$array[$ia]=$array[$ian];如果我在這里添加一個回顯,它會打印一個數字到無窮大,為什么?$array[$ia]=$array[$ian];echo $array[$ia],"\n";
查看完整描述

1 回答

?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

問題不在一行。需要一些命令來進行交互:

  1. array_rand返回元素的鍵而不是值

  2. array_search如果未找到該值,則返回 (bool)false(因為 1 可能會發生這種情況)

  3. 您用來$array_value_key啟動一個 for 循環。因為 2 它可能是 (bool)false。

  4. 當您遞增布爾值時,它不會改變。即你$ia++什么也沒做。

  5. 這就是為什么$ia<=$array_key_last永遠不會變成假并且你的循環永遠運行的原因。


查看完整回答
反對 回復 2023-08-19
  • 1 回答
  • 0 關注
  • 118 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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