2017-08-25 1 views
0

Ich versuche, ein Array durchlaufen, die ich von preg_match_all Ergebnis erhalten, um eine Zeichenfolge aus allen Ergebnissen zu erstellen.PHP Schleife durch ein Array und bekomme es Elemente in eine Zeichenfolge

Array sieht wie folgt aus:

print_r($matches[0]); 


Array 
(
    [0] => Array 
     (
      [0] => 8147 
      [1] => 3 
     ) 

    [1] => Array 
     (
      [0] => 8204 
      [1] => 20 
     ) 

) 

Und mein Code:

$found = count($matches[0]); 
for ($i = 0; $i <= $found; $i++) { 
$string = $matches[0][$i]; 
} 

Ich würde Ergebnis $string wie diese bekommen: 8147, 8204

Wie ich $matches[0][0] zu $matches[0][1] anhängen etc. in String Variable mit Schleife?

+0

$ string. = $ Treffer [0] [$ i ]. ","; – Oleg

Antwort

1

Mit php5.5 implodieren verwenden und mehr erhalten Sie kann array_column + implode:

verwenden
echo implode(', ', array_column($matches, 0)); 
+0

Das hat super funktioniert. Vielen Dank. – AdrianM2

1

Versuchen Sie den folgenden Code. Schleife durch Array und erhalten Werte

$arr =Array 
(
    0 => Array 
     (
      0 => 8147, 
      1 => 3 
     ), 

    1 => Array 
     (
      0 => 8204, 
      1 => 20 
     ) 

); 
$match_array = array(); 
foreach($arr as $key=>$value) 
{ 
    $match_array[] = $value[0]; 
} 
$str = implode(",",$match_array); 
echo $str; 

DEMO

oder einfach verwenden array_column auf bestimmte Spalte als Array erhalten dann

$arr =Array 
(
    0 => Array 
     (
      0 => 8147, 
      1 => 3 
     ), 

    1 => Array 
     (
      0 => 8204, 
      1 => 20 
     ) 

); 
$match_array = array_column($arr,0); 

$str = implode(",",$match_array); 
echo $str; 

DEMO

2

können Sie tun dies einige ting wie die

$string = ""; 
foreach($matches[0] as $value) { 
    $string .= $value[0].", "; 
} 
$string = rtrim(", ",$string); 
1

Sie array_column verwenden können, keine Notwendigkeit, eine Schleife über das Array

$result = join(',', array_column($arr, 0)); 
Verwandte Themen