2 回答

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個贊
關(guān)于您的代碼,您在循環(huán)中的length之前缺少$ 。
盡管如此:不需要循環(huán)遍歷數(shù)組 - 您可以直接尋址元素。以下將起作用:
<?php
$string="Cupid";
$stringmod= str_split($string);
unset($stringmod[count($stringmod)-1]);
unset($stringmod[0]);
print_r($stringmod);
?>
函數(shù) array_pop 和 array_shift 將執(zhí)行相同的操作(從數(shù)組中刪除最后一個/第一個元素)。如果您想稍后在代碼中再次執(zhí)行此操作,它們會更好(PHP 使用關(guān)聯(lián)數(shù)組,因此 $stringmod[0] 僅在開頭才是第一個元素 - 當(dāng)您刪除它時,不再有 $stringmod[0 ],因此執(zhí)行 unset($stringmod[0]) 兩次不會刪除兩個“第一個”元素,而只會刪除一個)。所以在這種情況下最好的答案可能是:
<?php
$string="Cupid";
$stringmod= str_split($string);
array_pop($stringmod);
array_shift($stringmod);
print_r($stringmod);
?>
PS根據(jù)安德魯在我的答案下面的評論,您還可以使用 array_values() 函數(shù)重新排序或使用 array_splice() 刪除元素(這也會重新排序)。就我個人而言,我不喜歡使用它們,因?yàn)樗鼈冋加觅Y源,并且在可能的情況下,我不依賴于數(shù)組具有幻數(shù)的排序索引:)

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個贊
array_shift將從數(shù)組中刪除第一個元素,重新索引數(shù)字鍵。
array_pop將刪除最后一個。
$string="Cupid"; //orginal string
$stringmod= str_split($string);
array_shift($stringmod);
array_pop($stringmod);
print_r($stringmod);
如果您想通過循環(huán)來完成此操作,按照@jibsteroos comment,您幾乎已經(jīng)完成了,您只需要在循環(huán)中正確引用測試計(jì)數(shù)器即可for。
- 2 回答
- 0 關(guān)注
- 165 瀏覽
添加回答
舉報(bào)