這是一個奇怪的問題,但它是有趣的,所以我認爲我會問。假設我不喜歡php的foreach
循環的運行方式,我總是以格式使用它,我所做的只是在外部添加了一個計數器,並在foreach
循環內使用它來判斷我們是否在最後一個元素中。可以修改哪些foreach體系結構?
$counter = 1;
$array_size = count($array);
foreach($array as $item){
//code
if($counter == $array_size){
$isLast = true
} else {
$isLast = false;
}
$counter++;
}
我的問題是:我可以覆蓋或叉或繼承(或任何你想調用)原PHP foreach循環包括這一新的能力,所以,我現在可以做到這一點,而不需要初始化櫃檯等。
newforeach($array as $item){
//code
$isLast = //something that returns true/false;
}
這是一個有趣的想法,所以我不知道這裏的鐵桿PHP的球員之一,能以某種方式實現這一目標?或者這種修改方式太複雜了,而沒有黑客的語言本身?
根據定義,當然,改變語言控制結構的工作方式需要「黑客語言本身」 – 2011-02-09 11:03:13
什麼[您的其他問題(http://stackoverflow.com/questions/4943719/in-foreach-islastitem-exists)? – Gumbo 2011-02-09 11:07:18
至少使它更漂亮,你可以做`$ isLast =($ counter == $ array_size);` – gnur 2011-02-09 11:13:43