Производительность: is_numeric () и is_string () в цикле foreach

У меня есть несколько массивов в массиве ex.

$array =
array(
array(/../),
array(/../),
array(/../),
//upto 100-200 arrays
);

После этого я буду использовать foreach в echo все они. Здесь есть некоторая проверка, является ли $key является is_numeric() или же is_string(), например:

array(
'the_key_here_is_numeric',
'string' => 'the key is string'
);

Итак, у меня есть foreach как это:

foreach($array as $arr => $arrays) {
foreach($arrays as $key => $value) {
if(is_numeric($key)) {
/.../
}
if(is_string($key)) {
/../
}
}
echo /../;
}

Когда я проверил это с помощью KCacheGrindочевидно, is_string() а также is_numeric() будет использоваться несколько раз, мой вопрос, это повлияет на производительность? Если так, есть ли лучший способ сделать это?

0

Решение

Просто используйте еще. Тогда условие будет проверено только один раз

Не

if(is_numeric($key)) {
/.../
}
if(is_string($key)) {
/../
}

Но

  if(is_string($key)) {
/../
} else {
/.../
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]