Как упростить запись ? Код (Text): if ($yaru == 'no') { $yaru="";} if ($vkontakte == 'no') { $vkontakte="";} if ($facebook == 'no') { $vkontakte="";} и т.д.
Код (PHP): $no=function(&$v){$v=($v!="no")?$v:'';}; $no($yaru); $no($kontakte); $no($facebook); Добавлено спустя 1 минуту 18 секунд: Должно работать
не работает Может можно как то через массив? А то получается это не оптимизация. Количество строчек только увеличилось.
А у меня работает. Тут дело в кавычках). Код (PHP): $no=function(&$v){$v=($v!="no")?$v:'';}; $yaru="no"; $vkontakte='no'; $facebook='yeah!'; $no($yaru); $no($kontakte); $no($facebook); результат-- пусто no yeah ща... Добавлено спустя 2 минуты 46 секунд: Код (PHP): $no=function(&$v){$v=($v==="no")?'':$v;}; Добавлено спустя 1 минуту 28 секунд:Тащемта оптимизация не только в количестве строчек, ну еще и в скорости%) Добавлено спустя 19 минут 33 секунды: 3.150091 секунд --$no=function(&$v){$v=($v==="no")?'':$v;}; 3.007162 секунд --$no=function(&$v){if($v==="no"){$v='';}}; 2.412675 секунд --function no(&$v){if($v==="no"){$v='';}}; 0.133725 секунд --твой код с if на 100000 выполнений Вот так-вот). В моем первом варианте потеря в производительности из-за логической конструкции этой хз как она называется), там идет в любом случае присвоение изначальной переменной, во втором варианте побыстрее, но он медленнее, чем третий, видимо в пыхе есть разница между функцией-переменной и просто функцией), ну а третий вариант самый быстрый тк там не тратится время на вызов функции и передачи ей инфы(если бы я не использовал указатель то мои функции были бы еще медленнее). Вывод--тебе не надо ничего оптимизировать) Добавлено спустя 1 минуту 25 секунд: Разве что для удобства заюзать функцию, предложенную мной). Если конечно она не выполняется тысячи раз в скрипте), но выполняется раз 50.
В случае, если переменных всего три - то переделывать тут нечего и незачем. Если их много и может в дальнейшем стать ещё больше - можно вместо переменных $yaru, $vkontakte и т.д. использовать одну переменную-массив, в котором элементы будут соответствовать этим всяким yaru, vkontakte и пр. Ну либо вот так можно ещё: Код (PHP): $varNames = array('yaru', 'vkontakte', 'facebook'); foreach($varNames as $varName) { if($$varName == 'no') $$varName = ''; }