Как я могу получить доступ к этим ключам массива в качестве переменной в CI? - PullRequest
2 голосов
/ 26 июня 2011
Array
(
    [abc] => Array
        (
            [0] => Array
                (
                    [id] => 1
                    [title] => hello 12
                    [meta_keyword] => 
                    [meta_description] => 
                    [tags] => sdfgdfg
                    [status] => draft
                    [body] => dsfdsf dfdsafsdfsdfsdf
                    [photo] => images/blog/nari.jpg
                    [raw] => nari
                    [ext] => .jpg
                    [views] => 0
                    [video] => 
                    [categoryid] => 5
                    [subcatid] => 7
                    [featured] => 
                    [pubdate] => 2011-06-17 03:39:55
                    [user_id] => 0
                )

            [1] => Array
                (
                    [id] => 2
                    [title] => hello xyz
                    [meta_keyword] => 
                    [meta_description] => 
                    [tags] => xcfasdfcasd
                    [status] => draft
                    [body] => dfdsafsdf dsfdsf dfdsafsdfsdfsdf
                    [photo] => images/blog/nari.jpg
                    [raw] => nari
                    [ext] => .jpg
                    [views] => 0
                    [video] => 
                    [categoryid] => 1
                    [subcatid] => 2
                    [featured] => 
                    [pubdate] => 2011-06-17 03:43:12
                    [user_id] => 0
                )

например, если я хочу отобразить заголовок, я бы сделал echo $abc['title'], но он не работает, пожалуйста, помогите,

вышеприведенный вывод является результатом print_r($count['abc]);, когда я делаю, он ничего не показываетprint_r($count['abc']['title'])

Ответы [ 4 ]

2 голосов
/ 26 июня 2011

Вам также потребуется использовать числовой ключ: $abc[0]['title'].

Другими словами, у вас есть массив с членами массива типа массива, который использует числовые ключи, в котором каждый изэти члены являются массивами, которые используют ассоциативные ключи для доступа к значениям.Таким образом, вам нужно получить доступ к каждому массиву в $abc, чтобы получить массив, содержащий ваши title значения.

РЕДАКТИРОВАТЬ

Если вы пытаетесь выполнить циклчерез эти значения вам нужно будет пройти через каждый массив.Такие как:

$c_abc = count($abc);

for ($i = 0; $i < $c_abc; $i++) {
    echo "{$abc[$i]['title']}<br/>";
}
0 голосов
/ 26 июня 2011

Вот структурированное решение

$data = Array(
    [abc] => Array
        (
            [0] => Array
                (
                    [id] => 1
                    [title] => hello 12
                    [meta_keyword] => 
                    [meta_description] => 
                    [tags] => sdfgdfg
                    [status] => draft
                    [body] => dsfdsf dfdsafsdfsdfsdf
                    [photo] => images/blog/nari.jpg
                    [raw] => nari
                    [ext] => .jpg
                    [views] => 0
                    [video] => 
                    [categoryid] => 5
                    [subcatid] => 7
                    [featured] => 
                    [pubdate] => 2011-06-17 03:39:55
                    [user_id] => 0
                )

            [1] => Array
                (
                    [id] => 2
                    [title] => hello xyz
                    [meta_keyword] => 
                    [meta_description] => 
                    [tags] => xcfasdfcasd
                    [status] => draft
                    [body] => dfdsafsdf dsfdsf dfdsafsdfsdfsdf
                    [photo] => images/blog/nari.jpg
                    [raw] => nari
                    [ext] => .jpg
                    [views] => 0
                    [video] => 
                    [categoryid] => 1
                    [subcatid] => 2
                    [featured] => 
                    [pubdate] => 2011-06-17 03:43:12
                    [user_id] => 0
                )
       )
);

extract($data);

foreach($abc as $value){
    echo $value['title']."<br>";
}
0 голосов
/ 26 июня 2011

Чтобы получить доступ к переменным массива, правильный путь выглядит следующим образом:

$count['abc'][0]['title']

Однако в заголовке вы спрашиваете о Array keys as variables?

На самом деле это не такдолжны быть связаны с CI.

Простой пример

$array = array ( "hi" => "bye");
extract( $array);
//it will make "hi" a variable :: $hi = "bye"

echo $hi; // will output bye
0 голосов
/ 26 июня 2011

Прочтите об php ассоциативных массивах .... у вас будет достигнута цель

попробуйте это:

foreach ($array as $i => $values) {
    print "$i {\n";
    foreach ($values as $key => $value) {
        print "    $key => $value\n";
    }
    print "}\n";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...