Есть задача в одном массиве лежат номера и во втором тоже но нужно вывести одну строчку совпадения Код (Text): $arr1 = array(1,2,3,4,5,1,8,4,56,1); $arr11 = array(1,2,3,4,5,1,2,1,3,3,1,8,5,5,5,1,1,1,2,2,2,2,1,5); for($i=0; $i<count($arr1); $i++) { for ($i2=0; $i2<count($arr11); $i2++) { if($arr1[$i] == $arr11[$i2]) { echo $arr11[$i2]."<br>"; } } } результат выдает такой 1 1 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 4 5 5 5 5 5 1 1 1 1 1 1 1 1 8 4 1 1 1 1 1 1 1 1 А мне нужно такой: 1 2 3 4 5 8 Не могу понять как надо организовать такое условие. Натолкните пожалуйста на мысль нужную
Код (Text): $arr1 = array(1, 2, 3, 4, 5, 1, 8, 4, 56, 1); $arr11 = array(1, 2, 3, 4, 5, 1, 2, 1, 3, 3, 1, 8, 5, 5, 5, 1, 1, 1, 2, 2, 2, 2, 1, 5); $result = array(); foreach ($arr1 as $v) { if (in_array($v, $arr11) && !in_array($v, $result)) { array_push($result, $v); } } print_r($result);
Счас буду внедрять в свой код!Посмотрим Добавлено спустя 29 минут 20 секунд: Код (Text): foreach ($xml->price_item as $item) { $arr1 = $item->art; } Вот такой вопросик еще извиняюсь за занудство и свое плохое знание в php! В массив эти значения загнать ведь так: foreach ($xml->price_item as $item) { $arr1 = $item->art; $mas = array($arr1); } Да? Добавлено спустя 31 секунду: Или же он сделать так одному элементу массива присвоит все значения из xml?
Для того, чтобы добавить к существующему массиву новый элемент - использую либо функцию array_push, либо квадратные скобки после названия массива: Код (PHP): <?php // Это добавит к массиву $arr элемент $elem: $arr[] = $elem; // И это тоже: array_push($arr, $elem); // А это сделает переменную $arr равной значению $elem. Никакого массива тут: $arr = $elem; ?>