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 массивов. Опиши задачу, может проще можно решить задачу
Онлайн: 4
Время:
Gen. 0.1127
(c) Bym.Guru 2010-2026