Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Задачка на сообразительность...
В массиве специально значения одинаковые, поэтому array_search не прокатит. Ф-ия key также не подойдет, потому что аргументом должен быть массив, а не строка.
echo test($colors);// Выведет первый ключ в массиве "red"
arimanecro
Отправлено: 08 Сентября, 2016 - 23:53:51
Частый гость
Покинул форум
Сообщений всего: 209
Дата рег-ции: Май 2014
Помог: 0 раз(а)
Поясню для чего это...
Есть функция, которая принимает строку, а именно POST значение и внутри этой ф-ии, данное значение проходит фильтрацию и когда фильтрация не пройдена, то выводится ошибка с текстом: Переменная такая-то(а вот здесь и требуется ключ, так как именно он и несет в себе имя переменной) не является(например) имейлом.
Я сейчас не за рабочим компом, поэтому скопировать не могу, но "перескажу" в сжатой форме:
$_SESSION['error'][]="$name не является числом"// естественно подставится значение, а я хочу чтобы отобразилось имя элемента массива
}
return$this;
}
test($_POST['number'])->test($_POST['name']);
Вообщем самое главное, это отобразить имя элемента массива, который передается в ф-ию.
Sail
Отправлено: 09 Сентября, 2016 - 09:37:24
Участник
Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014
Помог: 57 раз(а)
arimanecro пишет:
это отобразить имя элемента массива, который передается в ф-ию
Про то, что переменная, переданная в функцию является элементом массива функции не известно. На то она и функция со своей областью видимости и полученным значением аргумента. Даже если передать ссылку на элемент массива, то функция будет оперировать только лишь значением, хранящимся в выделенной для него памяти...
Можно сделать, например, так, чтобы функция принимала ссылку на массив одним аргументом, а индекс требуемого элемента - другим.
Fart
Отправлено: 09 Сентября, 2016 - 11:16:52
Посетитель
Покинул форум
Сообщений всего: 324
Дата рег-ции: Июль 2016
Помог: 10 раз(а)
key() будет достаточно, но предварительно нужно массив изменить и сделать первым значением.
В случае не прохождения фильтрации, ключи корректно заносятся в $_SESSION['err_valid'], что и требовалось
OrmaJever
Отправлено: 10 Сентября, 2016 - 14:55:32
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
arimanecro пишет:
Есть функция, которая принимает строку, а именно POST значение и внутри этой ф-ии, данное значение проходит фильтрацию и когда фильтрация не пройдена, то выводится ошибка с текстом: Переменная такая-то(а вот здесь и требуется ключ, так как именно он и несет в себе имя переменной) не является(например) имейлом.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.