В моем коде в php 5 мне нужно получить доступ к ключу массива, в имени которого есть тире (case-ins). Есть ли способ сделать это?
Мой код выглядит так:
$count = 0;
foreach($par as $key){
foreach($key as $case-ins)
$count = $count+1;
....
}
В основном мне нужно получить размер массива. Я знаю, что, вероятно, могу использовать функцию подсчета, но сейчас самая большая проблема, с которой я сталкиваюсь, — это тире. Я нашел в Интернете что-то вроде $ {case-ins}. но это не сработало. Я не могу изменить имя ключа массива, потому что это фактически аргумент из командной строки, который я получил с помощью getopt.
Не могли бы вы помочь мне с этим? Или есть другой способ подсчитать, сколько раз использовался один и тот же аргумент?
Спасибо за все ответы 🙂
$par = array(
array(
'0'=> 'dark-blue',
'1'=> 'yellow',
'2'=> 'high-color'
),
);
$count = 0;
foreach ($par as $key ) {
foreach ($key as ${'case-ins'} ) {
if (preg_match('#-#', ${'case-ins'} )==true) {
$count = $count+1;
}
}
}
echo $count; // count is 2 ..
Больше информации: в некоторых строгих системах PHP лучше использовать #(.+)?-(.+)?#
вместо #-#
и вместо ${'case-ins'}
Вы можете использовать обычные переменные, такие как $case_ins
не разбивать в PHP.
Других решений пока нет …