Однозначна ідентифікація змінної дає можливість використовувати змінні безпосередньо усередині стрічок. Наприклад:
$name = "John";
$age = 20;
echo "$name is $age years old";
Як результат ми отримаємо рядок: John is 20 years old.
В PHP, на відміну від багатьох інших мов, розрізняються рядки, взяті в одинарні та подвійні лапки. Заміщення імен змінних їх значеннями виробляється лише в рядках, взятих у подвійні лапки.
Рядки у подвійних лапках можуть містити і складніші вирази. Для цього необхідно вкласти їх у фігурні дужки:
$man = array("John",20);
echo "{$man[0]} is {$man[1]} years old";
Результат буде таким же, як і у попередньому прикладі.
Оскільки ім’я константи не починається з символу $, нема можливості розмістити значення константи всередині подвійних лапок.
Ще однією цікавою особливістю роботи PHP з рядками є підтримка так званого способу here docs. Нижче наведений приклад:
$var="PHP";
$text=<<HERE <span>$var</span>
HERE;
echo $text;
?>
У цьому випадку значенням змінної буде весь текст, що міститься між початковим і кінцевим маркерами. Ознакою того, що це here doc, є наявність << безпосередньо після знаку присвоєння. Даний механізм дуже зручний у випадку, якщо рядку необхідно присвоїти якийсь складний текст із збереженням його форматування.
На відміну від інших скриптових мов для конкатенації стрічок використовується символ «.» (крапка), а не «+».
PHP містить велику кількість функцій для роботи зі стрічками. Їх опис можна знайти, наприклад, на сторінці http://ua.php.net/manual/en/language.types.string.php.
Масиви
Масиви в PHP - це дуже потужний і гнучкий механізм. Підтримуються як звичайні, так і асоціативні масиви, причому вони можуть бути змішані у будь-якому порядку навіть в межах одного масиву. Підтримуються вкладені масиви. В PHP є велика кількість функцій для роботи з масивами.
PHP дозволяє задавати масиви практично будь-якої складності безпосередньо в тілі програми. Наприклад:
$data = array(1,10,100,1000, // Числові дані
"some text","another text", // Стрічкові дані
"name"=>"john","age"=>20, // Асоціативні зв'язки у масиві
"date"=>array('day'=>10,'month'=>'may','year'=>2001)); //Вкладений масив
Звертаються до даних так:
echo $data[1]; // Результат - 10
echo $data[5]; // Результат - 'another text'
echo $data['age']; // Результат - 20
echo $data['date']['month']; // Результат - 'may'
Кількість елементів у масиві повертає оператор count (або його синонім sizeof).
Елементи масиву не обов’язково індексуються як 0,1,…,count-1. А тому у загальному випадку для роботи із масивом використовують оператор циклу foreach:
foreach ($languages as $key => $value) {
echo '<tr><td>'.$key.'</td><td>'.$value.'</td></tr>';
}