:huh: Paldies par atbildi, bet tai seko vēl viens jautājums..
KUR KĻŪDA!? :(
///////file:data.txt/////////
Janis|18|
[email protected]|
Peteris|21|
[email protected]|
Juris|51|
[email protected]|
Olga|18|
[email protected]|
Janis|11|
[email protected]|
///////end file//////////////
:blink: Startējot skriptu, no faila data.txt izdzēšas ne tikai rindiņas, kurās $name='Janis', bet beidzamais '|' un atkāpes.
Atkārtoti startējot skriptu, failā data.txt rodas tīrais gļuks.
Kādēļ? Ja man vajadzīgs, lai izdzēstos tikai rindiņa + tās atkāpe, kuras $name='Janis'.
$fileData = file("data.txt");
$personList = array();
foreach ($fileData as $row){
list($name, $age, $email) = explode('|', $row);
$personList[] = array('name' => $name, 'age' => $age, 'email' => $email);
}
// 1. punkts
// No faila "data.txt" izdzēst tās rindiņas, kurās $name=="Janis";
foreach ($personList as $key => $person){
if ($person['name'] == 'Janis') {
unset($personList[$key]);
}
}
$f = fopen('data.txt', 'w');
foreach($personList as $row) {
fwrite($f, implode('|', $row));
}
fclose($f);
$fileData = file("data.txt");
$personList = array();
foreach ($fileData as $row){
list($name, $age, $email) = explode('|', $row);
$personList[] = array('name' => $name, 'age' => $age, 'email' => $email);
}
// 2. punkts
// Ja faila "data.txt" $name=="Janis" { $name vērtību rename/pārsaukt par "JanisOzols"; }
foreach ($personList as $key => $person){
if ($person['name'] == 'Olga'){
$personList[$key] = array('name' => 'JanisOzols', 'age' => $person['age'], 'email' => $person['email']);
}
}
$f = fopen('data.txt', 'w');
foreach($personList as $row) {
fwrite($f, implode('|', $row));
}
fclose($f);
Paldies vēlreiz!