Найти последний элемент массива при использовании цикла foreach в PHP - PullRequest
189 голосов
/ 20 марта 2009

Я пишу создатель SQL-запроса, используя некоторые параметры. В Java очень просто обнаружить последний элемент массива из цикла for, просто проверяя текущую позицию массива с длиной массива.

for(int i=0; i< arr.length;i++){
     boolean isLastElem = i== (arr.length -1) ? true : false;        
}

В PHP они имеют нецелые индексы для доступа к массивам. Поэтому вы должны перебирать массив, используя цикл foreach. Это становится проблематичным, когда вам нужно принять какое-то решение (в моем случае добавить или / и параметр при построении запроса)

Я уверен, что должен быть какой-то стандартный способ сделать это.

Как вы решаете это в PHP?

Ответы [ 31 ]

0 голосов
/ 12 марта 2012

Другой способ - запомнить предыдущий результат цикла цикла и использовать его в качестве конечного результата:

    $result = $where = "";
    foreach ($conditions as $col => $val) {
        $result = $where .= $this->getAdapter()->quoteInto($col.' = ?', $val);
        $where .=  " AND ";
    }
    return $this->delete($result);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...