Создайте массив и получите элемент или часть строки в одну строку - PHP

Чтобы создать массив из строки и получить элемент нужно сделать так:

$string = "1/2";

$array = explode("/", $string);
$elem = $array[0];

Небольшой трюк позволяет использовать функцию strstr() и дает тот же результат, что и обе приведенные выше строки.

$elem = strstr($string, "/", true);

Проблема в том..

  1. Что делать, если вы хотите вернуться после «/», а не перед ним, но без «/» в начале
  2. Если «/» не существует в массиве, возвращается false

strstr() не является ответом. Есть ли другой метод или синтаксис для получения строки перед «/» в одной строке либо путем выполнения операции с массивом, либо какой-либо строковой операции?


person JavaScript_is_4_Real_men    schedule 25.10.2014    source источник
comment
Что за одержимость людей остротами? На вашем компьютере мало символов новой строки?   -  person Barmar    schedule 25.10.2014
comment
Я не минусовал тебя, редко это делаю. Я тоже не знаю, зачем они это делают.   -  person Barmar    schedule 25.10.2014


Ответы (2)


Вы можете сделать это так в php 5.4 +

$string = "1/2";

$first = explode("/", $string)[0];

пример Eval.in

person Ohgodwhy    schedule 25.10.2014

Вы можете использовать substr():

$after = substr($string, strpos($string, '/')+1);

+1 позволяет пропустить /.

person Barmar    schedule 25.10.2014