#php #arrays #foreach
#php #массивы #предначертание #foreach
Вопрос:
У меня есть этот массив, и я выполнил print_r($resultArray) и получил эти результаты;
Array ( [0] => Array ( [invoiceid] => 992 [client] => www [invoicedeliverymethod] => email [date] => 2011-11-04 [enddate] => 2011-10-31 23:59:59 [total] => 103.00 [remainingbalance] => 103.00 [ispaid] => No [isagentpaid] => No [datedistributed] => 2011-11-04 [invoicedcontact] => 1 ) [1] => Array ( [invoiceid] => 991 [client] => www [invoicedeliverymethod] => email [date] => 2011-11-04 [enddate] => 2011-09-30 23:59:59 [total] => 103.00 [remainingbalance] => 103.00 [ispaid] => No [isagentpaid] => No [datedistributed] => Not distributed [invoicedcontact] => 1 ) [2] => Array ( [invoiceid] => 988 [client] => Sylvester Services [invoicedeliverymethod] => email [date] => 2011-11-04 [enddate] => 2011-10-31 23:59:59 [total] => 16687.83 [remainingbalance] => -16487.83 [ispaid] => No [isagentpaid] => No [datedistributed] => Not distributed [invoicedcontact] => 1 ) [3] => Array ( [invoiceid] => 987 [client] => Colony Holland Lumber [invoicedeliverymethod] => email [date] => 2011-11-04 [enddate] => 2011-10-31 23:59:59 [total] => 8345.39 [remainingbalance] => -8245.39 [ispaid] => No [isagentpaid] => No [datedistributed] => Not distributed [invoicedcontact] => 1 ) )
Что я пытаюсь сделать, так это написать цикл foreach, который получает каждый из [invoiceid]
Это то, что у меня есть до сих пор
foreach($resultArrayy as $key){
foreach($key as $value){
echo $value . "<br/>";
}
}
Но это возвращает это;
992
www
email
2011-11-04
2011-10-31 23:59:59
103.00
103.00
No
No
2011-11-04
1
для каждого из них (но разные данные)
Ответ №1:
foreach($resultArray as $value){
echo $value['invoiceid'] . "<br/>";
}
Ответ №2:
foreach($resultarray as $result)
echo $result["invoiceid"];
Комментарии:
1. Действительно 3 голоса за? Никто не понял, что это работает не так, как ожидалось? Это может вернуть
invoiceid
только последнюю запись (при использовании$resultArray
)2. Технически это сработало для приведенного примера… просто не применимо в широком смысле. Точка с запятой удалена. Сегодня я король редактирования.
3. Извините, я устал после долгого дня, должно быть, я был неосторожен. Спасибо @Derelased за исправление.
Ответ №3:
Вам нужно сделать
foreach($resultArrayy as $result){
if array_key_exists('invoceid', $result)
echo $result['invoiceid'] . "<br/>";
}
Комментарии:
1. Ему не нужен другой цикл foreach, и если, он может напрямую получить invoiceid внутри первого foreach. Проверьте мой ответ.
2. Но yasar, O (N) — это ооочень бооооорррриииииннг.
3. @Dereleased Я не понял, что вы имели в виду под (O) N , я не являюсь носителем языка.
4. Я просто пытался привести пример другого варианта для цикла foreach