Подскажите пожалуйста, есть код, в этом коде, происходит разложение текста в массив, после чего идет проверка текста с изменением его согласно параметрам. столкнулся с проблемой что при работе с функцией current(array) - не получается присвоить новое значение. В последнем блоке, подскажите что я делаю не так и как это работает?
if(end($array) == 'UOII'){
if(prev($array) == 'UOOG'){
current($array)='UOOOG'; //не происходит присваивание и выдает ошибку
}else{echo '---';
}
}
print_r($array);
Функция current()
просто возвращает значение элемента массива, на
который указывает его внутренний указатель.
В отличии от функций end()
и prev()
которые сначала устанавливают указатель в массиве на нужный элемент, а затем возвращают значение.
Это тоже самое что пытаться одной строке присвоить другую строку, будет ошибка:
'string' = 'UOOOG';
В вашем случае можно вообще обойтись без указателей:
$count = count($array);
if ($array[$count - 1] == 'UOII') {
if ($array[$count - 2] == 'UOOG') {
$array[$count - 2] = 'UOOOG';
} else {
...
Либо если вы хотите использовать указатели, задействуйте функцию key()
которая возвращает ключ массива на котором сейчас установлен указатель:
...
if(prev($array) == 'UOOG') {
$array[key($array)] = 'UOOOG';
} else {
...
Есть таблица Фильмов,Актеров и таблица соединяющая ид фильма и ид актераЕсть разметка
Подскажите, как ограничить количество строк таблицы, выводимых циклом foreach из БД sqlite на страницу? Нужно выводить не более 500 строка в БД их 10 тысяч