Quantcast
Channel: PHP Freaks: PHP Help
Viewing all articles
Browse latest Browse all 13200

'Illegal string offset' in foreach loop

$
0
0

I am getting an assoc array from a MySQL database using PDO.

I want to perform a function on it to trim down the number of words by using the following code:

$newsContent = Words::truncateWords($rows);

I am getting this error and the the function hasn't worked

Warning: Illegal string offset 'content' in C:\www\mvc\libs\Words.php on line 14

Notice: Uninitialized string offset: 0 in C:\www\mvc\libs\Words.php on line 14

Warning: Illegal string offset 'content' in C:\www\mvc\libs\Words.php on line 14

 

 

The first error is repeated about 8 times. Line 14 points to this line

$rows[$key]['content'] = self::trunc($row['content'], 60);

Here is my Words class

class Words {

// truncate each of the news item's content to a set number of words
public static function truncateWords($rows) {

// loop through the array 
foreach($rows as $key => $row) {
// and truncate content to 60 words
$rows[$key]['content'] = self::trunc($row['content'], 60);
}

return $rows;
}

public function trunc($phrase, $max_words)
{
$phrase_array = explode(' ',$phrase);

if(count($phrase_array) > $max_words && $max_words > 0)
$phrase = implode(' ',array_slice($phrase_array, 0, $max_words)).'...';

return $phrase;
}
}

Viewing all articles
Browse latest Browse all 13200

Trending Articles