PHP - Как удалить дублирующиеся элементы массива при печати из внутреннего цикла в зависимости от количества элементов - PullRequest
0 голосов
/ 25 ноября 2018
<code>$sports = array
(
    array('id'=> 1, 'Name'=>'Soccer','Popularity'=>'High'),
    array('id' => 2,'Name'=>'Baseball','Popularity'=>'Low', 'IsTrending' => 'Yes')

);

$sport_history = array(
    array('OwnerId' => 1, 'View'=>'Worldwide'),
    array('OwnerId'=> 1, 'View'=>'Usa'),
    array('OwnerId'=> 1, 'View'=>'Europe'),
);

foreach($sports as $masterKey => $sport){

    if($sport['IsTrending'] == 'Yes'){

         var_dump($sport['Name']);//Here only prints onces

        foreach ($sport_history as $key=>$history){

            var_dump($sport['Name']);//Here prints several times but I would like to be printed here and based on the number of elements in the first array and not the second.

            echo '<pre>' . print_r($sport_history[$key],1) . '
';}}}

У меня проблема с тем, что первое значение массива выводится несколько раз при размещении внутри второго внутреннего цикла, но при помещении в внешний цикл оно печатается только один раз.Я хочу, чтобы иметь возможность выводить значения во внутреннем цикле на основе количества элементов в массиве, а не внешнего цикла.Я думал об использовании «если не inarray ()» или «array_uniquie ()», но не уверен.

ОБНОВЛЕНИЕ: Желание вывода: вместо этого

string(8) "Baseball"
Array
(
    [OwnerId] => 1
    [View] => Worldwide
)
string(8) "Baseball"
Array
(
    [OwnerId] => 1
    [View] => Usa
)
string(8) "Baseball"
Array
(
    [OwnerId] => 1
    [View] => Europe
)

Я хочу это во внутреннем цикле

string(8) "Baseball"
Array
(
    [OwnerId] => 1
    [View] => Worldwide
)
Array
(
    [OwnerId] => 1
    [View] => Usa
)
Array
(
    [OwnerId] => 1
    [View] => Europe
)

1 Ответ

0 голосов
/ 25 ноября 2018

Вы можете получить желаемый вывод (так как вы хотите выполнить вывод во внутреннем цикле), просто выводя для первого ключа в $sport_history.Исходя из вашего кода, это будет 0, поэтому измените

var_dump($sport['Name']);

на

if ($key == 0) var_dump($sport['Name']);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...