Массивы - это набор переменных. Не так часто встречается необходимость заполнять массив при помощи конструкции array(), тем не менее опишем этот способ.
$name=array('cat','dog','mouse');
echo $name[0];//cat
echo $name[1];//dog
echo $name[2];//mouse
В примере мы заполнили индексный массив. Если не указан индекс, то заполнение идет от нуля. Для получения элемента массива вы должны указать рядом с именем массива индекс в квадратных скобках.
$name=array(1=>'cat',2=>'dog',3=>'mouse');
echo $name[1];//cat
echo $name[2];//dog
echo $name[3];//mouse
В примере мы заполнили массив с индексами от 1 до 3, переменная с индексом 0 осталась пустой.
Еще один способ присвоить отдельному элементу массива значение - сделать это, как присвоение значения переменной.
$day[1]='Понедельник';
$day[2]='Вторник';
$day[3]='Среда';
$day[4]='Четверг';
$day[5]='Пятница';
Этим способом можно заполнять массив и не указывая индекс.
$day[]='Понедельник'; //0
$day[]='Вторник'; //1
$day[]='Среда'; //2
$day[]='Четверг'; //3
$day[]='Пятница'; //4
Происходит последовательное наполнение начиная с нуля. Иногда возникает необходимость в буквенных индексах. Такие массивы называются ассоциативными.
Широкое применение эти массивы нашли в обработке значений, полученных из базы данных. Используя определенную функцию, массиву присваивается много значений. Нам остается лишь получить их из массива.
$arr=mysql_fetch_array($zapros);//присвоение массиву значений из базы данных
echo $arr['name'];//Имя
echo $arr['year'];//Год рождения
echo $arr['phone'];//телефон
Выполнение функции привело к заполнению массива значениями. Ключи к массиву в программе мы не задаем, они, как и значения, взяты из базы данных. Работать с ассоциативными массивами можно не только для получения данных из базы, это всего лишь пример. Так же, как и с числовыми индексными массивами, вы можете произвольно создавать ключи и заполнять массив нужными данными.
Функция позволяет получить все индексы и соответствующие им значения в массиве.
$ar['zuzu']='Интерес';
$ar['joi']='Маскарад';
$ar['liv']='Искренность';
//если нужны только значения (пример 1)
foreach ($ar as $result){
echo $result;
}
//если нужны индексы и значения (пример 2)
foreach ($ar as $index => $result){
echo $index.' : '.$result;
}
Foreach - циклическая функция, количество циклов в которой равно количеству элементов массива. В первом примере значение каждого элемента массива поочередно присваивается переменной $result
, во втором - переменная $index
приобретает значение индекса, а $result
- значение элемента массива с этим индексом.
Количество элементов в массиве count:
echo count($massiv);
Сортировка элементов массива sort:
sort($massiv);
arsort($massiv); // сортировать в обратном порядке
Удаление элемента массива unset:
unset($massiv[1]); // удаление элемента массива
unset($massiv); // удаление массива целиком
Поиск в массиве php array_search (функция array_search('что', где)
осуществляет поиск по всем значениям массива, что бы вернуть индекс найденного элемента):
$massiv[1]='dog';
$massiv[2]='mouse';
$massiv[3]='keyboard';
echo array_search('mouse',$massiv); //результат 2
Перемешать массив shuffle:
shuffle($massiv);
Мы продолжаем с вами рассматривать различные нестандартные решения поставленных задач, как с помощью функции в PHP можно определить, сколько раз искомая фраза встречается в массиве. То, где это может вам пригодиться, думаю, вы решите сами, ведь именно вы рассматриваете и выбираете различные подходы к решению поставленных задач. А использовать мы будем следующую функцию (ее вы вставляете вверх вашего скрипта):
function substr_count_array($desired_array, $search) {
$count = 0;
foreach($desired_array as $desired_array_item) {
$count += substr_count($desired_array_item, $search);
}
return $count;
}
И, соответственно, пример ее применения:
$array = array("foo", "bar", "hallo", "world", "hallo"); // Искомый массив
echo substr_count_array($array, "hallo"); // Выведет 2
Сама по себе функция небольшая, как вы заметили, но полезная, и имеет место быть в арсенале разработчика.