Foreach значения из двух строк через запятую PHP - PullRequest
1 голос
/ 24 октября 2019

У меня есть две строки, которые содержат информацию о странах и городах

$city = "Munich, Berlin, London, Paris, Vienna, Milano, Rome";
$country = "Germany, Germany, UK, France, Austria, Italy, Italy";

$city = explode(', ', $city);
$country = explode(', ', $country);

Я знаю, как использовать один массив. В приведенном ниже примере я получаю массив стран и добавляю $ value

foreach($country as $value) 
{
$data[] = array (
    "text" => $value,
    "entities" => [
      array (
        "entity" => $city
      )
      ]
);}   

, но не могу понять, как также включить массив $ city и получить подходящее значение. Например, ожидаемый результат -

foreach($country as $value) 
{
$data[] = array (
    "text" => France,
    "entities" => [
      array (
        "entity" => Paris
      )
      ]
);}   

Ответы [ 2 ]

2 голосов
/ 24 октября 2019

Вы выбираете один массив и используете его для заполнения цикла, но обрабатываете оба одновременно, предполагая, что они находятся в шаге.

Вот как это может работать с циклом foreach:

foreach ($country as $key => $value) {
    $data[] = array(
        "text"     => $value,
        "entities" => [
            array(
                "entity" => $city[$key],
            ),
        ]
    );
}

А вот с for петлей:

for($i = 0; $i < count($country); $i++){
    $data[] = array(
        "text"     => $country[$i],
        "entities" => [
            array(
                "entity" => $city[$i],
            ),
        ]
    );
}
1 голос
/ 24 октября 2019

Поскольку размер обоих массивов будет одинаковым, вы можете сделать это, используя один цикл, подобный этому

$i=0;

foreach($country as $value) 
{
$data[] = array (
    "text" => $value,
    "entities" => [
      array (
        "entity" =>$city[$i++]; 
      )
      ]
);}  

Пока вы добавляете страну, продолжайте добавлять город, используя index для городамассив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...