- 1
- 2
- 3
- 4
- 5
$re = "/(\\d+)\\s?(\\S?)/i";
preg_match($re, get_field('tour_price'), $price);
$price = $price[1] ?: 0;
$currency = $price[2] ?: '$';
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−19
$re = "/(\\d+)\\s?(\\S?)/i";
preg_match($re, get_field('tour_price'), $price);
$price = $price[1] ?: 0;
$currency = $price[2] ?: '$';
Как разобрать строку 180$ и получить цену отдельно а знак валюты отдельно?
Конечно же как описано выше! И цены же конечно не могут ВДРУГ стать трехзначными или ОБОЖЕ!ЧТОЭТО! заканчиваться не на 0!
omcg33 21.12.2016 20:18 # 0
guest 23.12.2016 19:14 # −1
Int 27.12.2016 02:09 # +1
И при чёт здесь окончание на ноль? Там обрезанный тернарник проверяет равенство нулю элемента массива, и если он таки равен, то присваивает цене ноль. Думаю, имелось в виду isset().