Каков наилучший способ получить доступ ко всем элементам объекта, а не использовать foreach?PHP: лучший способ получить все элементы объекта?
Заранее спасибо ...
Каков наилучший способ получить доступ ко всем элементам объекта, а не использовать foreach?PHP: лучший способ получить все элементы объекта?
Заранее спасибо ...
get_object_vars
- Возвращает свойства данного объекта
детали - http://php.net/manual/en/function.get-object-vars.php
Что случилось с Еогеасп?
Ну но есть несколько методов
Вы могли бы сделать что-то вроде:
$length = count($arr);
for($i = 0; $i<$length; $i++)
вы могли бы также сделать
while($i < $length)
и доступ к элементам непосредственно, если у вас есть цифровые клавиши.
Однако foreach не будет медленнее, и его лучший способ пойти, если у вас нет числовых клавиш.
Вы также можете получить доступ к детали с помощью next($arr)
или вы можете push/pop
Я бы сказал, это зависит от контекста, что вы хотите сделать.
Если вы хотите выполнять операции X с массивом размера X, например, вам нужен какой-то цикл.
Если ЮО только хотите применить ту же самую операцию на все элементы, которые вы можете использовать удобную функцию array_map
если вы просто хотите, чтобы получить всю информацию из него можно также использовать get_object_vars
однако, то у вас есть только новый массив и что тогда?
Это действительно зависит от контекста, что вы хотите сделать!
В большинстве случаев foreach прекрасно и быстро.
Если вы хотите найти конкретные ключи/значения или посмотреть, существуют ли они, для этого есть специальные оптимизированные array functions.
'foreach' не работает на объектах. Просьба уточнить. –
уверен, что делает. $ arr = массив («привет», «», «мир»); $ arr = (Object) $ arr; var_dump ($ arr); foreach ($ arr as $ a) { echo $ a; } ... также .. что такое объект в php? : D –