В настоящее время я работаю над школьным проектом и не могу понять, как правильно взорвать и взорвать массив. Моя цель - добавить новых пользователей, уметь удалять пользователей и обновлять пользователей. Чтобы достичь этого, мне нужно правильно получить свою пару ключевых значений.implode и explode associative array
Спасибо
<?php
class index {
function __construct(){}
Мой CSV чтение результатов заключается в следующем
Array ( [Email = [email protected]] => FirstName = fake_firstname )
public function display() {
$filename = 'testfile.csv';
$lines = file($filename);
$data = array();
echo "<tr>
<th>Email</th>
<th>First</th>
<th>Last</th>
</tr><br>";
foreach($lines as $info) {
list($key, $value) = explode(',', $info);
$result[$key] = $value;
echo "<pre>";
print_r($result);
echo "</pre>";
}
}
public function add($Fname, $Lname, $Email) {
$this->Fname = $Fname;
$this->Lname = $Lname;
$this->Email = $Email;
$this->person = array('Email'=>$this->Email,'FirstName' =>$this->Fname,
'LastName' =>$this->Lname);
$this->save($this->person);
print_r($this->person);
}
public function save($arr) {
$filename = 'testfile.csv';
$myfile = fopen($filename, "a+") or die("Unable to open file!");
foreach($arr as $key => $value){
$new[] = $key.' = '.$value;
$final = implode(",", $new);
}
fwrite($myfile, $final."\r\n");
fclose($myfile);
}
Мой CSV сохранил результаты в следующем Email = [email protected],FirstName = fake_firstname,LastName = fake_lastname
public function form(){
include('add.html');
}
} // close off class index
?>
Почему вы не получаете содержимое файла csv в виде строки, используйте взорвать дважды, один раз с explode (",", $ CSVString), а затем для каждого вызова индекса другой взрыва с explode ("=", $ array [$ i]), и если это необходимо, аккуратно() вокруг второго взрыва, чтобы избавиться от пробелов в конце и начале. Если это трюк, я выложу его в качестве ответа, если не дайте мне знать :) – JRsz
Я сделал следующее, и он сказал, что второй взрыв должен быть строкой. foreach ($ lines as $ info) { $ CSVString = explode (',', $ info); $ last = explode ('=', $ CSVString); echo "
"; – Royceсм. Мой ответ ниже. Надеюсь, это вам поможет :) – JRsz