|
|
|
| Есть строка вида "qwe.zxc.asd"
Как обратится к массива $array['qwe']['zxc']['asd']? | |
|
|
|
|
|
|
|
для: DEM
(17.11.2009 в 05:15)
| | По разному можно... "Эй, массив!" допустим. Или "Уважаемый массив!".
Главное чтоб он был... А если есть, то так:
<?
$keys = explode('.', 'qwe.zxc.asd');
$val = $array[$keys[0]][$keys[1]][$keys[2]];
|
| |
|
|
|
|
|
|
|
для: Николай2357
(17.11.2009 в 05:28)
| | Проблема в том, что вы не знаем сколько здесь точек. строка может быть "qwe.zxc", а может быть и "qwe.rty.gfh.sdxvcv.jkhjk.sdfsf.kt" | |
|
|
|
|
|
|
|
для: DEM
(17.11.2009 в 05:33)
| | Ну значит получите массив из 7 элементов. | |
|
|
|
|
|
|
|
для: DEM
(17.11.2009 в 05:33)
| | Так массив есть или его надо сформировать? Обратиться можно только к существующему массиву. А там без разницы сколько точек. | |
|
|
|
|
|
|
|
для: Николай2357
(17.11.2009 в 06:43)
| | есть массив
$arr = array("qwe"=>array("asd"=>array("zxc")));
Мы не знаем сколько там элементов и т.д.
и у нас есть строка "qwe.asd.zxc"
И надо как-то обратится к этому элементу. Делал так:
$exp_dot = explode(".", $string);
$q = $arr[$exp_dot[0]];
for($i=0;$i<count($exp_dot);$i++)
{
//а что тут писать???
}
|
| |
|
|
|
|
|
|
|
для: DEM
(17.11.2009 в 06:47)
| | Проверять, если есть такой ключ, брать значение, иначе обращение по следующему ключу. | |
|
|
|
|
|
|
|
для: DEM
(17.11.2009 в 05:15)
| | Сделал! Нашёл свою ошибку... фууух... Как бы я знал, как это делается, но не поулчалось. Оказалось, что я делал explode с массивом... всем спасибо ;) | |
|
|
|
|
|
|
|
для: DEM
(17.11.2009 в 05:15)
| | А теперь похожая проблема...
Как достать значение из массива элементы которого хранятся в другом массиве (тут использую explode и просто циклом FOR обхожу). Но теперь у меня другая проблема: я имею такую же строку, разделаю её explode, а как мне заполнить элемент массива $array['qwe']['zxc']['asd'] (если строка была "qwe.zxc.asd") чем-либо? Опять же длину и прочее не значем, имеем только строку и значение которым надо заполнить. Думаю, что надо через указатели делать, но с ними ни разу не работал, надеюсь тут помогут :) | |
|
|
|