2017-02-23 96 views
-2

Я пытаюсь вывода 3 текстовых полей с этими значениями:Удалить дубликаты данных из петли PHP

Но тем не менее я получаю дублированный выход:

100,200,300 100,200,300 100,200,300

Я использовал array_unique функция, но ее не работает.

$items = ["Maids","Housekeepers","Nannies"]; 
foreach (array_unique($items) as $item) { 

    $retArr = ["100", "200", "300"]; 
    foreach (array_unique($retArr) as $jobopening) {?> 

     <input value="<?php echo $jobopening; ?>" type="text" /> 

    <?php } 

}?> 

Может кто-то пожалуйста, помогите мне достичь этого результата:

100.200.300

+3

Вы выводите каждый элемент '$ retArr' один раз для каждого элемента' $ items' - почему у вас есть оба цикла? –

+0

У меня это по какой-то причине, это всего лишь образец кода, я хочу добиться этого внутри вложенного цикла, спасибо – sam

+0

что такое '$ item'? Каков ваш ожидаемый результат? – C2486

ответ

1

Я не знаю точное требование, но вы можете попробовать это:

<?php 

    $items = ["Maids","Housekeepers","Nannies"]; 
    $i=0; 
    foreach (array_unique($items) as $item) { 

    $retArr = array_unique(["100", "200", "300"]); ?> 

     <input value="<?php echo $retArr[$i]; ?>" type="text" /> 

    <?php $i++; } 

    ?> 
+0

Спасибо, отлично работает :) – sam

+0

Рад вам :) – DevOps

1

Try для ввода значений $retArr в пределах <input> text коробка в соответствии с петлей $items.

Пожалуйста, смотрите код ниже:

<?php 
$x = 0; 
$items = ["Maids","Housekeepers","Nannies"]; 
foreach ($items as $item) { 
    $retArr = ["100", "200", "300"]; ?> 
     <input value="<?php echo $retArr[$x]; ?>" type="text" /> 
    <?php 
    $x++; 
} 

?> 

Там нет необходимости array_unique функции, в случае, если у вас действительно есть повторяющиеся значения.

Надеюсь, это может быть полезно для вас.