Как мне распечатать все первые значения массива массива в PHP?

Я использую ‘PHP Simple HTML DOM Parser’ библиотека.
Мой код в основном перебирает мои разные сайты и перечисляет все необходимые якоря, мой вопрос: как мне вывести 1-е значение href в якоре «селектора» в каждом из $memb(n) переменные в массиве $team,

Это мой код:

$memb1 = 'http://www.xyz1.org';
$memb2 = 'http://www.abc3.org';
$memb(n) = '...etc...etc'

$teams = array(
array("url" => $memb1, "selector" => ".product-list >
table:nth-child(1) >
tbody:nth-child(1) >
tr:nth-child(2) >
td:nth-child(2) > a"),
array("url" => $memb2, "selector" => ".product-list >
table:nth-child(1) >
tbody:nth-child(1) >
tr:nth-child(2) >
td:nth-child(2) > a"),
array("url" => $memb(n), "selector" => ".product-list >
table:nth-child(1) >
tbody:nth-child(1) >
tr:nth-child(2) >
td:nth-child(2) > a"),...etc...etc

При запуске цикла foreach, например:

foreach($teams as $site) {
$url = $site["url"];
$html = file_get_html($url);
foreach ($html->find($site["selector"]) as $a) {
$links[] = $a->href;
}
}
?>
<pre>
<?php print_r($links);?>
</pre>

Я получаю все выбранные якоря, которые я хотел от всех $memb переменные все вместе, но я пытаюсь напечатать 1-е значение href в привязке «селектора» в каждом из $memb(n) переменные в массиве $team, но я не могу найти способ сделать это.

Я уже пробовала print_r(array_values($links)[0]); пока я получаю только 1-й якорь от $memb1 и он останавливается там, он не продолжает печатать первый якорь $memb2 и так далее.

Как я могу напечатать 1-й якорь (индекс 0) с каждого другого сайта $ memb?

1

Решение

Если я вас правильно понял, то попробуйте это:

foreach($teams as $site) {
$url = $site["url"];
$html = file_get_html($url);
foreach ($html->find($site["selector"]) as $a) {
$links[] = $a->href;
break;
}
}

или, вы можете сделать это немного оптимизированным:

foreach($teams as $site) {
$url = $site["url"];
$html = file_get_html($url);
$link = $html->find($site["selector"], 0);
if (!empty($link)) $links[] = $link->href;
}
2

Другие решения

Использовать индекс массива по результату вызова find()

foreach($teams as $site) {
$url = $site["url"];
$html = file_get_html($url);
$anchors = $html->find($site["selector"]);
if (!empty($anchors)) {
$links[] = $anchors[0]->href;
}
}
1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector