The following script runs a method (fetch_item_info) in a class called Item.php.
The method populates an array which I assign to $item_info. The array is populated by fetching data from a mysql table and extracting it with a while… statement via mysql_fetch_array.
The array exists and the assignment works as is demonstrated by printing out the array with print_r.
However, when I try to assign the value of an element of the array to a variable, it fails.
Here is the script:
<?php // filename.php include_once ('_classes/Item.php'); $item = new Item; $item_id = 84; $item_info = array(); $item_info = $item->fetch_item_info($item_id); echo '<pre>'; print_r ($item_info); echo '</pre>'; echo '<br/><br/>File name is: '; echo $item_info['item_image']; $image = $item_info['item_image']; echo "<br/><br/>\\$image = $image"; ?>
Here is the output:
Array (  => Array ( [item_id] => 84 [title] => asdf [item_image] => figure_2_8x8_72dpi.jpg [creator_id] => 2 [status] => Active [media] => dfgh [height] => 8 [width] => 8 [price] => 7000 [description] => qwerghjkl [comments] => fghjklghj ) ) File name is: $image =
I know my syntax isn’t wrong as the following demonstrates:
The alternative Script:
<?php // filename.php $item_info['item_image'] = '546728.jpg'; $item_info['image_name'] = 'Some Name'; echo '<pre>'; print_r ($item_info); echo '</pre>'; echo '<br/><br/>File name is: '; echo $item_info['item_image']; $image = $item_info['item_image']; echo "<br/><br/>\\$image = $image"; ?>
Array ( [item_image] => 546728.jpg [image_name] => Some Name ) File name is: 546728.jpg $image = 546728.jpg
I have actually had similar issues before and solved them eventually by simply re-typing the code (maybe there was some invisible character somewhere) or discovering I have used a reserved word. I have tried re-typing this a number of times and I don’t think I am using any reserved words.
Can anyone help me figure out what is going on???