Подскажите как передать с командной строки Ubuntu параметры. Параметры принимаются таким образом: $params = array( 'p::' => 'text::', 'd::' => 'text2::', ); $options = getopt( implode('', array_keys($params)), $params ); Параметр который должен записаться в 'text2' состоит из двух слов. Как в скрипте его вывести в двухмерный массив? Чтоб можно было обратится: $text2["param"]["param"]; Если не понятно объяснил, то переспрашивайте. Спасибо
1. Покажи, какие параметры передаешь, как. 2. Вот это не понятно, другими словами опиши подробней. Проблем в том, чтобы передать два слова? 3. Зачем заморачиваться с array_keys и implode, когда проще написать $options = getopt('p::d::', $params);?
в командной строке я должен вызвать файл: php index.php --name param --where param param. В файле принимается аргумент name[param] и where[param][param]. С name[param] - всё работает, а where[param][param] принимается только первый параметр, а мне надо чтоб два
Всё равно не въезжаю, как ты пытаешься передать массив массивов (и зачем). Чтобы передать два слова, нужно взять их в кавычки Код (Text): php index.php --name=param --where="param param" в этом случае в массиве $options будут ключи Код (Text): $options['name']=>'param', $options['where']=>'param param'
Ассоциативный массив - where[param][param] - where[param=>value]. Мне нужно через командную строку задать адрес ячейки в ассоциативном массиве. "param param" - это будет строка, а мне надо два параметра. Я думаю нужно что-то здесь сделать - $options = getopt( implode('', array_keys($params)), $params );
ну так передай два параметра (это всегда строки) как-нибудь так php index.php --param1=value1 --param2=value2 Код (PHP): $options = getopt('', array('param1::','param2::')); тогда в $options будет Код (Text): $options['param1']='value1', $options['param2']='value2'
Я б с удовольствием, но мне на работе поставили именно такое задание. Во так точнее --where author "Ray Bradbury".
Ну тогда, по-моему, тут не подойдет функция getopt. Можно параметры брать из переменной $argv. В $argv[0] будет всегда имя выполняемого скрипта, а далее по очереди параметры.