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

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

從PHP中的數組鍵范圍跳過鍵索引

從PHP中的數組鍵范圍跳過鍵索引

PHP
函數式編程 2021-05-13 18:38:31
這僅適用于具有索引號的數組。例如,我有這個數組;$array = [  "0" => "number 1",  "1" => "number 2",  "2" => "number 3",  "3" => "number 4",  "4" => "number 5",  "5" => "number 6",  "6" => "number 7",  "7" => "number 8",  "8" => "number 9"];我想從特定范圍的關鍵索引中跳過循環,例如,如果索引的數量從0到5,則跳過foreach。這意味著我們可以這樣做。foreach($array as $key => $value){   if(array_key_exist($key, range(0,5))      continue;   echo $value."<br/>"}  或者我們可以使用for...循環for($ind = 0; $ind < count($array); $ind++){        if(array_key_exist($ind, range(0,5))      continue;    echo $arr[$ind]."<br/>" }我如何不使用繼續或先搜索array_key而跳過索引?確保上面的代碼對我來說很好,但是如果我有一堆數組鍵和值,我認為這不是一個好選擇。
查看完整描述

2 回答

?
12345678_0001

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

您可以從第5個索引開始獲取數組的切片,再到其余部分,

$result = array_slice($array,5,count($array)-5, true);

array_slice —提取數組的一部分

注意事項

默認情況下,array_slice()將重新排序并重置整數數組索引。通過將preserve_keys設置為TRUE,可以更改此行為。不管此參數如何,始終會保留字符串鍵。

演示。


查看完整回答
反對 回復 2021-05-28
?
斯蒂芬大帝

TA貢獻1827條經驗 獲得超8個贊

您可以將array_diff用作:

$wantKeys = array_diff(array_keys($array), range(1,5));

現在,您所需要的只是在$wantKeysas上循環:

foreach($wantKeys as $k) 
    echo $array[$k]; // only wanted values

可以通過array_diff_keys實現相同的想法:

$wantKeys = array_diff_key($array, array_flip(range(1,5)));


查看完整回答
反對 回復 2021-05-28
  • 2 回答
  • 0 關注
  • 215 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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