PHP/MySQL | Нужна помощь по массивам.
В общем так. Есть 2 массива.
1)
Делаю в нужном месте вывод информации с 1-го массива.
И в $effect и в $my_effect массивах есть массив с одинаковым эффектом naprimer_1, так вот когда я делаю вывод массива $effect, мне нужно проверить есть ли у меня совпадение эффектов и если есть то к выводу добавить время с массива
$my_effect . Я сделал это вот так
Делаю в нужном месте вывод информации с 1-го массива.
Вот теперь вопрос как это сделать проще и лучше? Если в массиве $effect будет с пару десятков массивов и в $my_effect с пару десятков то скрипт будет долго выполняться.
PS: Старался предоставить простейший пример.
________
посл. ред. 08.04.2016 в 21:45; всего 4 раз(а); by gisen
1)
<php $effect = array(
[0] => array(
['id'] => 1,
['time'] => 1200,
['effect'] => naprimer_1
),
[1] => array(
['id'] => 2,
['time'] => 3200,
['effect'] => naprimer_2
)) ;
2) $my_effect = array(
[0] => array(
['id'] => 1,
['time'] => 1460036219,
['effect'] => pofig_chto
),
[1] => array(
['id'] => 2,
['time'] => 1460036117,
['effect'] => naprimer_1
)) ;?>
Делаю в нужном месте вывод информации с 1-го массива.
<?php foreach($effect as $eff): ?>
<span class="test"><?=$eff['effect']?></span>
<? endforeach ; ?>
И в $effect и в $my_effect массивах есть массив с одинаковым эффектом naprimer_1, так вот когда я делаю вывод массива $effect, мне нужно проверить есть ли у меня совпадение эффектов и если есть то к выводу добавить время с массива
$my_effect . Я сделал это вот так
Делаю в нужном месте вывод информации с 1-го массива.
<?php foreach($effect as $eff): ?>
<?php foreach($my_effect as $my_eff):
if($my_eff['effect'] == $eff['effect']) ?><span class="time"><?=$my_eff['time']?></span>
<? endforeach ; ?>
<span class="test"><?=$eff['effect']?></span>
<? endforeach ; ?>
Вот теперь вопрос как это сделать проще и лучше? Если в массиве $effect будет с пару десятков массивов и в $my_effect с пару десятков то скрипт будет долго выполняться.
PS: Старался предоставить простейший пример.
________
посл. ред. 08.04.2016 в 21:45; всего 4 раз(а); by gisen
Какой bbcode на bymas для php кода?
gisen, [code]
Млин не туда
________
посл. ред. 08.04.2016 в 21:40; всего 1 раз(а); by -Narkoman4ik-
________
посл. ред. 08.04.2016 в 21:40; всего 1 раз(а); by -Narkoman4ik-
Лазил в гугле ничего не нагуглил, поэтому сюда пишу.
________
посл. ред. 08.04.2016 в 23:10; всего 4 раз(а); by gisen
________
посл. ред. 08.04.2016 в 23:10; всего 4 раз(а); by gisen
for((int) $i = 0; $i < count($massiv); $i++) и тут ищеш совпадения
Александр Данилов (08.04.2016 в 23:19)
for((int) $i = 0; $i < count($massiv); $i++) и тут ищеш совпадения
for((int) $i = 0; $i < count($massiv); $i++) и тут ищеш совпадения
Тогда ещё такой вопрос, куда эту часть кода вставить? Если её вставить после 1-го foreach, если в первом массиве будет штук 40 массивов, то и цикл for запустится 40 раз.
Что я в итоге хочу получить ( вернее я это уже получил но грузить будет).
Я вывожу доступные эффекты с базы (все эффекты в 1-вом массиве) и есть ещё один массив с эффектами которые у меня есть и если у меня данный эффект куплен выводит Использовать а если нет то предлагает купить. Вот и использую foreach в другом foreach.
Я вывожу доступные эффекты с базы (все эффекты в 1-вом массиве) и есть ещё один массив с эффектами которые у меня есть и если у меня данный эффект куплен выводит Использовать а если нет то предлагает купить. Вот и использую foreach в другом foreach.
array_map и там маппишь.
Вот скрины кода
Стр.: 1, 2