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

Как вывести значение из массива в ячейку таблицы циклом foreach?

У меня есть цикл который добавляет каждый объект массива в новую ячейку, что нужно сделать, чтобы можно было добавить еще один цикл в таблицу, который будет добавлять объекты из другого массива к примеру из переменной $unicid в новую ячейку в колонку Уник?618de94e2a6e3634301691.png

Var_dump($article):
array(374) { [0]=> object(SimpleXMLElement)#2 (1) { [0]=> string(10) "1111111148" } [1]=> object(SimpleXMLElement)#3 (1) { [0]=> string(5) "00159" } [2]=> object(SimpleXMLElement)#4 (1) { [0]=> string(5) "00102" } [3]=> object(SimpleXMLElement)#5 (1) { [0]=> string(5) "00101" } [4]=> object(SimpleXMLElement)#6 (1) { [0]=> string(5) "00009" } [5]=> object(SimpleXMLElement)#7 (1) { [0]=> string(5) "00066" } [6]=> object(SimpleXMLElement)#8 (1) { [0]=> string(5) "00084" } [7]=> object(SimpleXMLElement)#9 (1) { [0]=> string(5) "00160" } [8]=> object(SimpleXMLElement)#10 (1) { [0]=> string(5) "00105" } [9]=> object(SimpleXMLElement)#11 (1) { [0]=> string(5) "00085" } [10]=> object(SimpleXMLElement)#12 (1) { [0]=> string(4) "0025" } [11]=> object(SimpleXMLElement)#13 (1) { [0]=> string(5) "00161" } [12]=> object(SimpleXMLElement)#14 (1) { [0]=> string(5) "00068" } [13]=> object(SimpleXMLElement)#15 (1) { [0]=> string(5) "00082" } [14]=> object(SimpleXMLElement)#16 (1) { [0]=> string(5) "00007" } [15]=> object(SimpleXMLElement)#17 (1) { [0]=> string(5) "00081" } [16]=> object(SimpleXMLElement)#18 (1) { [0]=> string(5) "00080" } [17]=> object(SimpleXMLElement)#19 (1) { [0]=> string(5) "00104" } [18]=> object(SimpleXMLElement)#20 (1) { [0]=> string(5) "00083" } [19]=> object(SimpleXMLElement)#21 (1) { [0]=> string(5) "00086" } [20]=> object(SimpleXMLElement)#22 (1) { [0]=> string(5) "00011" } [21]=> object(SimpleXMLElement)#23 (1) { [0]=> string(5) "00008" } [22]=> object(SimpleXMLElement)#24 (1) { [0]=> string(5) "00067" } [23]=> object(SimpleXMLElement)#25 (1) { [0]=> string(5) "00035" } [24]=> object(SimpleXMLElement)#26 (1) { [0]=> string(5) "00033" } [25]=> object(SimpleXMLElement)#27 (1) { [0]=> string(10) "1111111123" } [26]=> object(SimpleXMLElement)#28 (1) { [0]=> string(5) "00034" } [27]=> object(SimpleXMLElement)#29 (1) { [0]=> string(5) "00040" } [28]=> object(SimpleXMLElement)#30 (1) { [0]=> string(10) "1111111118" } [29]=> object(SimpleXMLElement)#31 (1) { [0]=> string(13) "8714462085604" } [30]=> object(SimpleXMLElement)#32 (1) { [0]=> string(4) "0044" } [31]=> object(SimpleXMLElement)#33 (1) { [0]=> string(5) "00058" } [32]=> object(SimpleXMLElement)#34 (1) { [0]=> string(5) "00121" } [33]=> object(SimpleXMLElement)#35 (1) { [0]=> string(5) "00123" } [34]=> object(SimpleXMLElement)#36 (1) { [0]=> string(5) "00119" }


$xml = file_get_contents($url, false, $context);
$xml = simplexml_load_string($xml);
$article = $xml->xpath('productDto/num'); 
  <table class="table table-dark table-bordered">
    <thead>
    <tr>
      <th scope='col'>Артикул</th>
      <th scope='col'>Уник </th>
      <th scope='col'>Наименование</th>
      <th scope='col'>Полное наименование</th>
	  <th scope='col'>Вид номенклатуры</th>
      <th scope='col'>Единица измерения</th>
      <th scope='col'>Тип продукта</th>
    </tr>
    </thead>
    <tbody>
      		<?php 
     		foreach($article as $key => $index) {
        	?> 
            <tr>
            <td><?php echo $index;?></td>
            <td></td> 
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
          </tr>
      	<?php
            }
      ?>
  </tbody>
</table>
  • Вопрос задан
  • 73 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
Haotik
@Haotik
PHP мидл без фреймворков
Если индексы у элементов совпадают и нет пропусков то можно сделать примерно таким образом $array_2 - Второй массив
<?php 
 
     		foreach($article as $key => $index) {
        	?> 
            <tr>
            <td><?php echo $index;?></td>
            <td><?php echo $array_2[$key]?></td> 
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
          </tr>
      	<?php
            }
      ?>

Но лучше бы конечно что бы все данные относящиеся к одному элементу - строке хранились в одном массиве. А сейчас в первом массиве должен существовать некий указатель который будет использоваться что бы выбирать значения из второго массива. - в бд это называют ключевым полем
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Чтобы вывести один элемент массива, никакой цикл не нужен.
Надо просто обратиться к массиву по индексу
Ответ написан
Ваш ответ на вопрос

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

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