Как делают я передаю массив через функцию, например:
$data = array(
'color' => 'red',
'height' => 'tall'
);
something($data);
function something($data) {
if ($data['color'] == 'red') {
// do something
}
}
как я могу заставить функцию распознавать $data[color]
и $data[height]
?
Иногда самый простой ответ - правильный:
$data = array(
'color' => 'red',
'height' => 'tall'
);
function something($data) {
if ($data['color'] == 'red') {
// do something
}
}
something($data);
В этом случае массивы не нуждаются в особой обработке, вы можете передать любой тип в функцию.
Это работает:
$data = array('color' => 'red', 'height' => 'tall');
function something($data) {
if ($data['color'] == 'red') {
// do something
}
}
something($data);
Как замечание, вам нужно заключить ваши строки в кавычки: $data['color']
.
Возможно, вам нужно сделать некоторые проверки параметра, чтобы сделать функцию более надежной.
function something($data)
{
if(is_array(data) and isset($data['color']))
{
if($data['color'] == 'red')
{
//do your thing
}
}
else
{
//throw some exception
}
}