Удалить первый символ строки на месте с помощью PHP - PullRequest
2 голосов
/ 30 мая 2011

Есть этот пост:

PHP вычитает первый символ строки

Это советует мне использовать substr(...);

Я хочу сохранить скользящий текст для регистрации в случае возникновения ошибки (1000 последних символов из потока), но кажется, что был бы лучший способ, чем создать 1000-символьную строку из 1001-символьной строки, тогда присвоение этой строки последнему.

Я буду делать это в очень узком цикле, поэтому производительность не должна быть ничтожной (хотя я еще не измерял это).

Есть ли способ удалить первый символ строки на месте?

Ответы [ 2 ]

1 голос
/ 30 мая 2011

Это должно работать правильно, но не лучший выбор

<?php
    $str = '12345678';
    $str[0] = null;
    echo $str; // output: 2345678
?>

С

echo strlen($str); // output: 8 because first character is not deleted, it is "hidden"

Возьми меня за 500 очков, если это поможет (:

0 голосов
/ 30 мая 2011

Очевидный вопрос: почему вы захотите сделать это на PHP? Возможно, у вас есть поддержка операционной системы для скользящих журналов.

Однако, если вы хотите иметь надежное решение, вам, скорее всего, лучше всего использовать substr.

Другим вариантом может быть использование доступа к массиву для строки:

unset(your_string[0]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...