2013-11-16 4 views
0

Я извлекаю данные из базы данных. Конечные результаты, которые я ищу, - это многомерный массив, ключ которого является целым числом, а значение является другим массивом.добавление во вторичный многомерный массив php

Данные проводятся в вопросы и ответить, чтобы помочь моему исследование на экзамен,

Я хотел бы, чтобы данные были, как показано ниже (НЕ на PHP!):

100 = {question,answer} 
101 = {question,answer} 
102 = {question,answer} 
103 = {question,answer} 
etc . . . 

тогда я буду быть в состоянии вызвать любой вопрос/ответ, который я хочу.

Моя проблема лежит ниже,

Линия

$tempArray[$row['question']] = $row['answer']; 

работает, как и ожидалось, у меня есть мой вопрос и ответ

но линия

$this->categoryArray[$count] = $tempArray; 

не делает, $ count никогда не используется, как ожидалось, когда я проверю его с помощью

print_r(array_keys($this->categoryArray) 

я получить 0,1,2 - вместо 100,101,102

Как всегда мистер Интернет, ваша помощь всегда приветствуется.

Полный код ниже

$count = 100; 
while($row = $stmt ->fetch()) 
{ 
    $tempArray[$row['question']] = $row['answer']; 
    $this->categoryArray[$count] = $tempArray; 
    $count++; 
    unset($tempArray); 
} 
+0

Похоже, что вам нужно 'array_combine' –

ответ

0

Это близко к тому, что вы ищете?

$count = 100; 


$qa = array(
    "question1" => "answer1", 
    "question2" => "answer2", 
    "question3" => "answer3" 
    ); 

$category_array = array(); 

foreach($qa as $question=>$answer) { 
    $category_array[$count] = array($question=>$answer); 
    $count++; 
} 

print_r($category_array); 

выходы:

Array 
(
    [100] => Array 
     (
      [question1] => answer1 
     ) 

    [101] => Array 
     (
      [question2] => answer2 
     ) 

    [102] => Array 
     (
      [question3] => answer3 
     ) 

) 
+0

Во-первых, спасибо, что нашли время, чтобы ответить, оказывается, мой код работает, и очевидно, так и ваш. Проблема я обнаружил, что я был перетасовки вопросы, как только массив был создан с перетасовки ($ this-> categoryArray) И конечно Примечание: Эта функция назначает новые ключи для элементов в массиве. Он удалит все существующие ключи, которые могут быть назначены, а не просто переупорядочить ключи. – psniffer

0

Как я вижу, что вы используете его внутри класса, я прав? Является ли $ count внутри функции или из?

Если да, пожалуйста, используйте $ this-> подсчитывать вместо $ подсчитывать ...

Смежные вопросы