|
|
|
|
|
для: Cyrax
(02.12.2007 в 18:19)
| | > А кто и где определяет типы принимаемых значений ?
Если функция пользовательская - то это может сделать её создатель. Если стандартная, то этим занимается интерпретатор.
Например, функция htmlspecialchars() принимает в качестве обязательного аргумента string:
string htmlspecialchars ( string $string [, int $quote_style [, string $charset ]] )
Она может проглотить, конечно, integer, float и т.д., т.к. PHP переведет из числовых типов в строковые, но не примент array. Я, надеюсь, не надо объяснять по каким причинам. | |
|
|
|
|
|
|
|
для: Unkind
(02.12.2007 в 18:15)
| | > функция filter_all() принимает скалярные значения
А кто и где определяет типы принимаемых значений ? Ведь типы не указываются...
По поводу примера кода. $_REQUEST['articles'] - у меня всегда массив. Т.е проверка is_array, судя по всему, не нужна... | |
|
|
|
|
|
|
|
для: Cyrax
(02.12.2007 в 18:09)
| |
<?php
if( is_array($_REQUEST['articles']) )
{
$articles = array_map("my_function", $_REQUEST['articles']);
}
else
{
$articles = my_function( $_REQUEST['articles'] );
}
?>
|
$_REQUEST тут не при чем. Вероятно, Ваша функция filter_all() принимает скалярные значения, т.е. для того, чтобы каждый элемент массива был обработан этой функцией можно использовать array_map(). | |
|
|
|
|
|
|
| Где-то читал, что переменная $_REQUEST ведёт себя как массив, но за исключением некоторых случаев. В частности при передаче массива, являющегося элементом $_REQUEST, метод получает хрен знает что - явно не массив (что именно - не экспериментировал).
$filter = filter_all($_REQUEST[articles]) - не работает ($_REQUEST[articles] - массив)...
Как методу корректно передать массив из переменной $_REQUEST ? | |
|
|
|
|