• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

array aufteilen

magifix

Neues Mitglied
Hallo,
ich habe eine Textdatei in der meine Daten wie folgt stehen:

Name
Vorname
Name
Vorname
usw

ich möchte die Werte jeweils Arrayvariablen zuordnen

vorname[x]
name[x]
vorname[x]
name[x]

kann mir jemand bitte sagen wie ich die Daten aufteilen kann?
 
PHP:
$file = file('datei');
$array = array(
    'name' => '',
    'vorname' => ''
);

$i = 0;
while(isset($file[$i])) {
    if(!($i % 2)) {
        $personen[$i] = $array;
    }
    
    $personen[$i][(($i % 2) == 1 ? 'vorname' : 'name')] = $file[$i];
}

nicht getestet aber sollte funktionieren ^^
 
Zuletzt bearbeitet von einem Moderator:
Ich würde das so machen
PHP:
$file = file("datei.txt");
$ind=0;
foreach($file as $wert) {
  $ind1=floor($ind/2);
  if ($ind%2) {
    $name[$ind1]=$wert;
  }
  else {
    $vorname[$ind1]=$wert;
  }
  $ind++
}
Ist ungetestet, sollte aber gehen.

Gruß thuemmy
 
Ich würde das so machen
PHP:
$file = file("datei.txt");
$ind=0; if (!$wert){
  $ind1=floor($ind/2); 
  if ($ind%2) { 
    $name[$ind1]=$wert; 
  } 
  else { 
    $vorname[$ind1]=$wert; 
  } 
  $ind++ 
}
foreach($file as $wert) {
  $ind1=floor($ind/2);
  if ($ind%2) {
    $name[$ind1]=$wert;
  }
  else {
    $vorname[$ind1]=$wert;
  }
  $ind++
}
Ist ungetestet, sollte aber gehen.

Gruß thuemmy

Da so eine Liste schnell unübersichtlich wird und er bestimmt Leerräume zwischen den Namen setzten will, noch ne kleine if-Abfrage ;-)
PHP:
$file = file("datei.txt"); 
$ind = 0; 
foreach($file as $wert) {
 if ($wert != ""){
  $ind1=floor($ind/2); 
  if ($ind%2) { 
    $name[$ind1]=$wert; 
  } 
  else { 
    $vorname[$ind1]=$wert; 
  } 
  $ind++ 
}
}
 
Zurück
Oben