Q:

Notice: Uninitialized string offset 0 при записи данных из БД в массив

При выборке данных из таблицы, присваиваю их массиву значений вида $page_vars['имя_столбца_в_БД']:
...
$result = $stmt->fetch( PDO::FETCH_ASSOC );                 
$stmt->closeCursor();
if( $stmt->rowCount() ) {
    foreach( $result as $key => $value)
    {
        $page_vars[$key] = $value[$key];
    }
}
else { 
    return 404;
}

Заметил, что возникает при пустой записи в БД (поле 'author' тип varchar(255), так как в этой таблице хранятся все страницы сайта, для некоторых страниц нет записи author).
Вроде на работу сайта не влияет, но из принципа хочу убрать это предупреждение!
Ну теперь, собственно, вопрос: как элегантней избавится от этого предупреждения, желательно без костылей типа для каждой страницы без автора вводить дефолт типа no_author? Ну и error_reporting() не предлагать :)

A:

@MDJHD
foreach( $result as $key => $value)
{
    $page_vars[$key] = $value[$key];
}

аларм-аларм, вы $key достаете из $result, а копаетесь с ним в $value, это точно так и задумывалось? Может быть, там вообще $key не нужен?

