Loading...
Обучение/Помощь новичкам | Помогите с кодом
У меня есть 2 массив. В массиве нужно перемещать значение И нужно получить одинаковые значение с 2 массивов Если в arr1 получаем orange в arr2 тоже должны получить orange. Извините за тупые вопросы, я нуб.

Код
<?php

$arr1 = ['orange','red', 'blue'];
$arr2 = ['orange','red', 'blue'];

shuffle($arr1);
shuffle($arr2);

for ($i = 0; $i < 1; $i++){
echo $arr1[$i];
echo $arr2[$i];
}

Конечно можно юзать конструкцию if но у меня там около 20 массивов.
________
посл. ред. 03.10.2023 в 18:50; всего 1 раз(а); by solo27
Что можно юзать shuffle или что то другое
solo27 ,

php
$arr1 = ['orange','red', 'blue'];
$arr2 = ['orange','red', 'blue'];

shuffle($arr1);
shuffle($arr2);

for ($i = 0; $i < 1; $i++){
echo $arr1[$i];
echo $arr2[array_search($arr1[$i], $arr2)];
}
solo27 ,

поясню:

array_search() ищет ключ по значению

$arr1[$i] - это значение, это значение нужно найти в $arr2

для этого ищем в $arr2 ключ, которому принадлежит значение $arr1[$i]

array_search($arr1[$i], $arr2) - это будет ключ массива $arr2, которому принадлежит значение $arr1[$i]

получаем значение $arr1[$i] из массива $arr2 по ключу этого значения в массиве $arr2 - $arr2[array_search($arr1[$i], $arr2)]
solo27 , цикл тебе тут не нужен, у тебя в перемешанном массиве всегда выбирается ключ - 0

php
$arr1 = ['orange','red', 'blue'];
$arr2 = ['orange','red', 'blue'];

shuffle($arr1);
shuffle($arr2);

echo $arr1[0];
echo $arr2[array_search($arr1[0], $arr2)];


или даже так

php
$arr1 = ['orange','red', 'blue'];
$arr2 = ['orange','red', 'blue'];

shuffle($arr1);
shuffle($arr2);

echo current($arr1);
echo $arr2[array_search(current($arr1), $arr2)];


ну или так

php
$arr1 = ['orange','red', 'blue'];
$arr2 = ['orange','red', 'blue'];

shuffle($arr1);
shuffle($arr2);

echo $color = current($arr1);
echo $arr2[array_search($color, $arr2)];


если надо менять ключ

php
$arr1 = ['orange','red', 'blue'];
$arr2 = ['orange','red', 'blue'];

shuffle($arr1);
shuffle($arr2);

$key = 0; // тут меняем номер ключа

if ($key > count($arr1)) die('Нет такого ключа');

echo $arr1[$key];
echo $arr2[array_search($arr1[$key], $arr2)];

________
посл. ред. 03.10.2023 в 21:08; всего 3 раз(а); by Вилы Выкидные
Вилы Выкидные , сам то понял что писал?
solo27 (4 окт 2023, в 10:50)
Вилы Выкидные , сам то понял что писал?
ах ты сучка неблагодарная

... Если в arr1 получаем orange в arr2 тоже должны получить orange ...

php
$arr1 = ['orange','red', 'blue'];
$arr2 = ['orange','red', 'blue'];

// Например при перемешивании имеем следующие массивы
shuffle($arr1); // ['red','orange', 'blue']
shuffle($arr2); // ['blue','red', 'orange']

for ($i = 0; $i < 1; $i++){
echo $arr1[$i]; // red
echo $arr2[array_search($arr1[$i], $arr2)]; // red
}


первый и последний раз тебе помогаю
Вилы Выкидные , сделаешь for ($i = 0; $i < 2; $i++) или 3 и код не так работает. Все равно спасибо за помощь.
solo27 (4 окт 2023, в 13:38)
Вилы Выкидные , сделаешь for ($i = 0; $i < 2; $i++) или 3 и код не так работает. Все равно спасибо за помощь.
пост 5, прочитать первое предложение поста и применить 4-ый пример
Вопрос - моя твоя не понимать.
Два раза прочитал, не понял.
Это что городить надо что бы было 20 массивов. Опиши задачу, может проще можно решить задачу
Онлайн: 1
Время:
Gen. 0.1109
(c) Bym.Guru 2010-2025