Я получаю больше практики с использованием циклов для циклов через массивы и задаю вопрос, который я пока не могу понять.PHP Зацикливание с помощью массивов с помощью цикла
У меня есть три петли, а в петлях - общие названия цветов. Используя первый цикл for, я просматриваю все три петли и нахожу общее имя цвета, это отлично работает.
Вторая часть - это то, где я нахожусь в тупике, как это сделать, как назначить массив общих значений в другой массив, чтобы просто показать эти общие значения.
Я знаю, что я могу использовать цикл foreach, который выполняет трюк, как показано ниже, но я пытаюсь понять, как это сделать с помощью цикла for.
Как это сделать? (Без использования array_intersect)
код: (это перебирает все массивы и дает мне общие ценности)
$array1 = ['red', 'blue', 'green'];
$array2 = ['black', 'blue', 'purple', 'red'];
$array3 = ['red', 'blue', 'orange', 'brown'];
$value = [];
$array_total = array_merge($array1, $array2, $array3);
$array_length = count($array_total);
for ($i = 0; $i < $array_length; $i++) {
if (!isset($value[$array_total[$i]])) {
$value[$array_total[$i]] = 0;
}
$a = $value[$array_total[$i]]++;
}
//print_r($value); -- Array ([red] => 3 [blue] => 3 [green] => 1 [black] => 1 [purple] => 1 [orange] => 1 [brown] => 1)
Использование работы цикла Еогеасп, но хотят, чтобы узнать, как сделать это с цикл:
$commonValues = [];
foreach ($value as $values => $count) {
if ($count > 2) {
$commonValues[] = $values;
}
}
print_r($commonValues); -- Array ([0] => red [1] => blue)
Вы избили меня до этого! – Barmar
Есть ли способ сделать это, не используя array_keys? Я должен ограничить использование встроенных функций php для учебных целей. – cattywampus
@cattywampus Нет, теперь есть способ обойти это иначе, чем использовать цикл foreach. Вы как-то должны получить ключи для доступа к вашему массиву. – Rizier123