Без необходимости менять подпись функции, я хотел бы, чтобы функция PHP вела себя по-другому, если задан связанный массив вместо обычного массива.Дифференцировать связанный массив из регулярного массива
Примечание: Вы можете предположить, что массивы являются однородными. Например, array(1,2,"foo" => "bar")
не принимается и может быть проигнорирован.
function my_func(Array $foo){
if (…) {
echo "Found associated array";
}
else {
echo "Found regular array";
}
}
my_func(array("foo" => "bar", "hello" => "world"));
# => "Found associated array"
my_func(array(1,2,3,4));
# => "Found regular array"
Возможно ли это с помощью PHP?
Как бы эту функцию лечить массивы, которые содержат смесь числовых и ассоциативных индексов ('массив (1, 2, 'Foo' => 'бар', 3, 4, 'Привет' => 'мир') ')? – BoltClock
Предположим, что массивы однородны; без смесей. –