2017-07-04 6 views
-1

Ich habe ein Array mit einer Menge verschiedener $key s und $value s
Was habe ich ist ein Formular erstellen, das dem Benutzer eine emailadres einfügen können.
Dann wird eine foreach Schleife laufen beginnt und speichert die Werte eines jeden gefundenen Emailadresse an einen neuen array

Dies ist das Ergebnis dieser Anordnung ist:

<?php 
Array 
(
    [0] => [email protected] 
    [1] => 103646 
    [2] => Company 
    [3] => 1140 
    [4] => [email protected] 
    [5] => 103689 
    [6] => Company 
    [7] => 3400 
) 
?> 

Was ich möchte, dass jeder $value hat seine eigene $key

Ich weiß nicht wirklich, wie das zu erreichen ist.

Das ist mein Array machen Skript:

<?php 
$saved = array(); 
$input = $_GET['emailaddress']; 
foreach ($data as $files){ 
    $bedrijf = $files['Name']; 
    $bill = $files['Bill']; 
    $amount = $files['Amount']; 
    $email = $files['email']; 
    if ($email == $input){ 
     foreach($files as $values){ 
      $saved[] = $values; 
     } 

    } 
} 
echo'<pre>'; 
print_r($saved); 
echo'</pre>'; 
?> 
+1

eigenen Schlüssel im Sinne? Kannst du ein Beispiel geben? – Exprator

+1

Wie sehen Ihre '$ Daten' aus? – Edwin

Antwort

1

Sie tun können, die durch eine foreach. Keine Notwendigkeit, die Komplexität des Codes zu erhöhen.

$i = 0; 
foreach ($data as $files){ 
    $bedrijf = $files['Name']; 
    $bill = $files['Bill']; 
    $amount = $files['Amount']; 
    $email = $files['email']; 
    if ($email == $input){ 
      $saved[$i]['email'] = $email; 
      $saved[$i]['Amount'] = $amount; 
      $saved[$i]['bill '] = $bill;  
      $saved[$i]['Name'] = $bedrijf ;  
      $i++; 
    } 
} 
+0

Ich biete nur eine Lösung, die auch funktionieren könnte Und wenn Sie die gleichen Schlüssel wollen, dann müssen Sie Multi-Dim-Array erstellen. – urfusion

+0

Nun, er hat richtig geraten. Thnx Kumpel. – Interactive

1

Dies wird die gewünschte mehrdimensionale assoziative Array ohne den Code aufblasen manuell Indizes Inkrementieren oder deklarieren Einmalnutzung Variablen:

foreach($data as $files){ 
    if($files['email']==$input){ 
     $saved[]=['Email'=>$files['email'],'Amount'=>$files['Amount'],'Bill'=>$files['Bill'],'Name'=>$files['Name']]; 
    } 
} 
Verwandte Themen