ишь что удумал, это проблема десятилетия, а возможно и столетия, над ней бьются лучше умы, например Григорий Яковлевич Перельман, и не могут решить, а ты хочешь что бы вот так вот, возьми и дай.
добавляй пробел вначало строки ) еще можно разбить по символам и хранить в масиве индексами с единицы... Добавлено спустя 20 минут 8 секунд: еще можно сделать так: (но не нужно) Код (PHP): class StrLikeDelphi implements ArrayAccess { private $data = []; public function __construct($str) { $this->data = array_filter(preg_split("//u", $str)); } public function offsetSet($offset, $value) { if (is_null($offset)) $this->data[] = $value; else $this->data[$offset] = $value; } public function offsetExists($offset) { return isset($this->data[$offset]); } public function offsetUnset($offset) { unset($this->data[$offset]); } public function offsetGet($offset) { return isset($this->data[$offset]) ? $this->data[$offset] : null; } } // $str = new StrLikeDelphi('Мир'); echo $str[1]; // М echo $str[2]; // и echo $str[3]; // р
А еще можно при обращении к элементу, тупо дергать не $i, а $i-1... Или принять как факт, что первый иднекс - нулевой.
Это парит обычно паскалистов/дельфистов пришедших в пхп. ибо они пытаются продолжать кодировать так как привыкли, игнорируя правила и особенности нового языка, да еще пытаясь обойти это костылями