# dilp (10.03.2019 / 18:08)
ДоХтор, но для этого надо всё равно найти ту самую грушу.
а побочную удалить
и вообще, в фруктам у меня идут еще характеристики
типа
weight = [
'200',
'300',
'350',
'300',
А как с точки зрения PHP можно понять, какая из двух одинаковых строк "груша" является именно "той самой"? Очевидно же, что никак. Поэтому попробуй всё же отфильтровать повторы, и потом получить позицию груши в массиве
(ключ) например так
(php 7):
* (+/-)
$fruits = [
'яблоко',
'слива',
'груша',
'лимон',
'груша',
'лимон'
];
$colors = [
'красный',
'синий',
'зеленый',
'желтый',
'красный',
'синий'
];
[$fruits, $colors] = array_map('array_unique', [$fruits, $colors]);
if ($key = array_search('груша', $fruits)) {
echo $key; // Та самая груша
}
Так ты и узнавай по названию фрукта, ключ с его характеристиками(если я правильно понял)
$key = array_search ('груша', $fruits);// ключ фрукта
echo $colors[$key];// описание
echo $width[$key];// размер, или еще что то
ДоХтор, я точно ожидаю грушу зеленую, именно её, если вдруг её там нет или есть , но с другим цветом, значит не судьба
# kantry (10.03.2019 / 18:15)
Так ты и узнавай по названию фрукта, ключ с его характеристиками(если я правильно понял)
$key = array_search ('груша', $fruits);// ключ фрукта
echo $colors[$key];// описание
echo $width[$key];// ра
так мне выдало ключ №4 , но это красная груша
# dilp (10.03.2019 / 18:17)
ДоХтор, я точно ожидаю грушу зеленую, именно её, если вдруг её там нет или есть , но с другим цветом, значит не судьба
Ну для текущего массива как раз зелёную грушу ты и получишь на выходе. Но лучше для подобных связей использовать не два простых массива, а один ассоциативный, в котором ключами будет название фрукта, а значениями - массив со свойствами этого (
и только этого) фрукта.
ДоХтор, мне парсер выдает числовые ключи
ДоХтор, на выходе была красная, когда искал по груше
# dilp (10.03.2019 / 18:21)
ДоХтор, мне парсер выдает числовые ключи
Это не должно мешать разработчику в структурировании этих данных. Возьми полученный массив (список), и преобразуй его в ассоциативный. Простой пример: у тебя от парсера один массив - фрукты, а другой - цвета. Передай эти массивы в array_combine(), и на выходе получишь необходимую структуру данных. Если массивы разной длины - приведи их к одной длине, и передавай в array_combine(). Если после приведения массивов к одной длине "страдает" контент - значит ты не правильно настроил парсер на получение этого самого контента
(регулярки кривые, или что-то тому подобное).
# dilp (10.03.2019 / 18:23)
ДоХтор, на выходе была красная, когда искал по груше
Нажми на кнопку
Execute code - там будет зелёная груша.
ДоХтор, не работает твой код , пишет ошибку.
<br />
<b>Parse error</b>: syntax error, unexpected '=' in <b>[...][...]</b> on line <b>21</b><br />
и в нем я не вижу в поиске не ни слова что ищется именно та самая знаменитая зеленая груша,
в поиске есть только груша.
мне нужен комбайн вида
if ($key = array_search('груша'+'зеленый', $fruits +$colors ))
{
echo $colors[$key]; // Та самая груша
}