Jump to content
  • entries
    6
  • comments
    12
  • views
    920

Однострочные решения

SooR

195 views

Лаконичные решения в одну строку, которые помогут в некоторых задачах.

 

#1. Читабельный артикул/код/любой числовой идентификатор. Разделение строки пробами через каждые 2 символа.

// из 398830583 получаем 39 88 30 58 3
$sku = substr(chunk_split($product_info['sku'], 2, ' '), 0, -1);

#2. Вывод звезд рейтинга без цикла (Font Awesome 4)

<?php echo str_repeat('<i class="fa fa-star text-warning"></i>', $rating); ?><?php echo str_repeat('<i class="fa fa-star-o text-muted"></i>', (5 - $rating)); ?>

#3. Вывод текстовой колонки из двумерного массива в строку.

// Из массива товаров получаем их названия и выводим в строку через запятую
<?php echo implode(', ', array_column($products, 'name')); ?>

// Из того же массива получаем названия только первых 3-х товаров
<?php echo implode(', ', array_column(array_slice($products, 0, 3), 'name')); ?>

#4..

  • +1 5


1 Comment


Recommended Comments

#4. Не совсем однострочное, но полезное. Отображаем вызывающий класс и метод (аналог caller в js). Полезно при отлове инициатора редиректа через response->redirect() и т.д.

$backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);

echo '<b>' . $backtrace[1]['class'] . '</b>' . '->' . $backtrace[1]['function'] . ' (' . $backtrace[0]['line'] . ')<br />';

 

Share this comment


Link to comment
Guest
You are posting as a guest. If you have an account, please sign in.
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.