Строка vs массив

12
tommy-gung
На сайте с 22.11.2006
Offline
277
745

Ноги топика растут отсюда /ru/forum/945649
SeVlad.

Sly32:
echo $categories_id;

array()
Sly32:
tommy-gung, А почему вы в вашем коде сначала массив категорий формируете, потом преобразовываете его в строку? Нельзя сразу строку делать?

зачем?

Vitos071:
Похожие записи показывает теперь и с этим кодом но результат тот же категорию не понимает показывает из всех категорий как раньше

как вариант, нет такого количества товаров (20 шт), вот и другие выбираются. я логику работы wp не знаю

Здесь не могла быть ваша реклама
S
На сайте с 30.09.2016
Offline
469
#1
tommy-gung:
зачем?

Чтобы лишних движений не делать, хотя бы. Сказал бы ещё про экономию памяти, но больно массив маленький.

Sly32:

echo $categories_id;

print_r($categories_id);

И если с этим всё нормально, тогда смотреть запрос к БД.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
tommy-gung
На сайте с 22.11.2006
Offline
277
#2

Sitealert, а строка сама по себе, наверное, формируется?

S
На сайте с 30.09.2016
Offline
469
#3
tommy-gung:
Sitealert, а строка сама по себе, наверное, формируется?

Не понимаю Вашего сарказма. Просто я, как и Ваш оппонент, не понимаю, зачем сначала формировать массив, а уже из него - строку, вместо того, чтобы сразу сформировать строку, если Вы не собираетесь использовать этот массив для каких-то иных целей.

tommy-gung
На сайте с 22.11.2006
Offline
277
#4

Sitealert, и все же, что со строкой?

S
На сайте с 30.09.2016
Offline
469
#5

Не понимаю вопроса. Вы не знаете, как сразу сформировать строку? Или вопрос ещё в чём-то?

tommy-gung
На сайте с 22.11.2006
Offline
277
#6

Sitealert, мне интересен альтернативный код

S
На сайте с 30.09.2016
Offline
469
#7
tommy-gung:
Sitealert, мне интересен альтернативный код

Если взять за основу Ваш, то как-то так:

 //related posts

$categories = get_the_category();
$categories_id = '';
foreach($categories as $cat) {
$categories_id .= ','.$cat->cat_ID;
}
$categories_id = ltrim($categories_id, ',');
unset($categories);
$related_posts = get_posts(array(
'post_type' => 'tov',
'author' => $post->post_author,
'posts_per_page' => 20,
'orderby' => 'rand',
'category' => $categories_id,
'exclude' => $post->ID
));
tommy-gung
На сайте с 22.11.2006
Offline
277
#8

Sitealert, не увидел простоты в примере. Но не спорю, что подобное имеет право на жизнь

мой код мне более читабелен

S
На сайте с 30.09.2016
Offline
469
#9

Читабельность такая же. Убрали лишнюю операцию. Плюс к этому, если массив большой, он память жрёт.

tommy-gung
На сайте с 22.11.2006
Offline
277
#10
Sitealert:
Читабельность такая же. Убрали лишнюю операцию. Плюс к этому, если массив большой, он память жрёт.

операций столько же, быстродействие мнительное. массив ну никак не может быть большим

и все равно каждый останется при своем мнении

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий