13

I have looked for some responses on the web, but none of them are very accurate.

I want to be able to do this:

$id = "" . $result ["id"] . "";
$info = array('$id','Example');

echo $info[0];

Is this possible in any way?

codaddict
  • 445,704
  • 82
  • 492
  • 529
Norm
  • 211
  • 2
  • 5
  • 9

3 Answers3

17

What you need is (not recommended):

$info = array("$id",'Example'); // variable interpolation happens in ""

or just

$info = array($id,'Example'); // directly use the variable, no quotes needed

You've enclosed the variable inside single quotes and inside single quotes variable interpolation does not happen and '$id' is treated as a string of length three where the first character is a dollar.

codaddict
  • 445,704
  • 82
  • 492
  • 529
5

Just don't put it in quotes:

$id = $result["id"];
$info = array($id, 'Example');
echo $info[0];

Alternatively, if you use double quotes rather than single quotes, then it will be interpolated (which also results in it being converted to a string):

$id = $result["id"];
$info = array("$id", 'Example');
echo $info[0];
icktoofay
  • 126,289
  • 21
  • 250
  • 231
3

Yes, you can store variables within arrays, though you'll need to remove the space between $result and the opening bracket.

$foo = $result["bar"]; // assuming value of 'bar'

$collection = array( $foo, "fizz" );

foreach ( $collection as $item ) {
  // bar, fizz
  echo $item;
}
Sampson
  • 265,109
  • 74
  • 539
  • 565