Задать вопрос
nipopadyuk
@nipopadyuk

Как правильно перебрать массив?

Всем привет.

На сайте с Woocommerce, нужно вывести товары, похожие на этот по названию (есть главные товары, есть дочерние, с приписками после названия).

Сделали такой код
$args = array(
			'limit' => 10,
			'like_name' => $item_name,
			);

			$result = wc_get_products( $args );


		$data_array = (array)$result;
		
		 for ($n=0; $n < count($data_array); $n++) {
							
			$data_array = (array)$result[$n]; // Cast object to array
			$name = $data_array["\0*\0data"]['name'];
			$slug = $data_array["\0*\0data"]['slug'];
			echo $name. ' - <a href="{link}/product/'. $slug .'">ссылка</a>';
			echo '<br>';
			
		}

Он выводит странно. Во первых, он зачем-то выводит один последний элемент пустой (на экране видим только дефис). Во вторых, он показывает элементы в обратном порядке.

Вопрос:
1) Как убрать этот последний элемент?
2) Как инвертировать порядок, чтобы в обратной последовательности выводились данные.
  • Вопрос задан
  • 69 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
Le_Traceur_Snork
@Le_Traceur_Snork
PHP-программист | Wordpress
1. array_shift() или array_pop(), в зависимости от его нахождения в массиве (с учётом п.2)
2. Согласно документации на WooCommerce (описание функции), у функции wc_get_products() есть входные параметры "order" и "orderby". По ним и сортируют (order = 'ASC' или 'DESC', orderby = поле сортировки)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы