Rich Bradshaw
Rich Bradshaw

Reputation: 73045

What's the difference between " and ' when creating strings in PHP?

Very basic, but would like to know the difference/security ramifications etc of using " vs. '.

Can someone provide an example that explains when to use each one?

Upvotes: 1

Views: 345

Answers (3)

moinudin
moinudin

Reputation: 138447

When a string is enclosed in double quotes, then escape sequences such as \n and variable identifiers such as $var are interpreted.

See the PHP strings manual for specific details and examples.

Upvotes: 9

OneNerd
OneNerd

Reputation: 6552

The biggest one is this. Inside double-quotes, you can include variables, but inside single quotes, the variable name will be literal:

$var1 = "hello";

// this will echo "hello world"
echo "$var1 world";

// this will echo $var1 world
echo '$var1 world';

Using double-quotes becomes extremely useful in a number of situations, expecially when you place {} around the variable names. Here are some examples (certainly others can give you more examples):

// array elements
echo "Element 5 is {$myArray[5]}";
echo "Element 2 subelement 3 is {$myArray[2][3]}";
//
// a dynamic key 
$value = "thing";
$someValue = $myArray["some{$value}"]; // returnd $myArray[something]

Upvotes: 2

cgp
cgp

Reputation: 41391

There are a lot of subtle differences, you'll want to read the php documentation to get a lot of the details, but the important detail are:

Double quotes are parsed whereas single quotes are literals.

You can use variables inline with double quotes, but not with single quotes.

There are some catches though:

<?php
$beer = 'Heineken';
echo "$beer's taste is great"; // works; "'" is an invalid character for variable names
echo "He drank some $beers";   // won't work; 's' is a valid character for variable names but the variable is "$beer"
echo "He drank some ${beer}s"; // works
echo "He drank some {$beer}s"; // works
?>

Single quotes are slightly faster.

Upvotes: 10

Related Questions