2015-05-13 2 views
0

У меня возникла проблема с ассоциативным массивом. Когда я проверяю массив, $keywordstoupdate действительно возвращает значение, но когда он достигает echo, он говорит, что Keyword не определен. Тем не менее, print_r() печатает его, и все в порядке с этой точки зрения. но когда я пытаюсь повторить эхо, отсутствует Keyword.ассоциативный массив не находит указанный индекс

function getkeywords($mysqli, $someid) 
{ 

    $keywords=array(); 
    $query='select Keyword from keywords where someId=?'; 
    $stmt= $mysqli->stmt_init(); 
    $stmt->prepare($query); 
    $stmt->bind_param('i', $someid); 
    $stmt->execute(); 
    $stmt->bind_result($Keyword); 
    while($stmt->fetch()) 
    { 

     $keywords[]= array("Keyword" => $Keyword); 
    } 

    return $keywords; 
} 

    $keywordstoupdate[]=getkeywords($mysqli, $someid); 

    <textarea id='textarea_keywords' name='keywords'> 
    <?php 
    if(count($keywordstoupdate)>0){ 
    for($i=0; count($keywordstoupdate)>$i; $i++){ 
    echo ($keywordstoupdate[$i]['Keyword']." "); 
    } 
    } ?></textarea> 

Результат print_r()

 Array 
    (
     [0] => Array 
     (
       [Keyword] => asdf 
     ) 

    ) 
+0

Что переменной является 'print_r()' отображение? –

+0

Вы напечатали $ keywordstoupdate? –

+0

Да ... Это результат '$ keywordstoupdate' .. и, кстати, я думаю, что мне ответили .. – whatever

ответ

3

Похоже, вы создаете трехмерный массив случайно, в то время как ваш цикл ожидает двумерный массив.

Попробуйте изменить:
$keywordstoupdate[]=getkeywords($mysqli, $someid);

To:
$keywordstoupdate=getkeywords($mysqli, $someid);

+0

Ouch !!!!!!!!!!! – whatever

+0

Hola !!!!!!!! черт ... вещь! – whatever

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