1,ложка,34,2,32
2,кружка,23,4,66
3,тарелка,45,6,352
4.вилка,21,3,235
$cart = file("data/file.csv");
$total_sum = 0;
$summa = 0;
foreach($cart as $elem => $line)
{
if(!strripos($line, ",")) continue;
$elem = explode(",",$line);
$summa += $elem[2];
echo '<tr>
<td>'.$elem[1].'</td>
<td>'.$elem[2].'</td>
<td>'.$elem[3].'</td>
<td>'.$elem[2] * $elem[3].'</td>
<td>'.$elem[4].'</td>
</tr>';
}
echo '<tr><td colspan="3" >'.$summa.'</td>
<td>'.$total_sum.'</td><td></td></tr>';
// парсим csv файл
$data = array_map('str_getcsv', file('data/file.csv'));
$col_number = 5; # порядковый номер поля
$row_number = 1; # порядковый номер записи
// заменяем значение на 24
$data[$row_number-1][$col_number-1] = $sum += 3 * 6;
// открываем файл
$csv_file = fopen('data/file.csv','w');
// $rows - это массив записей (с изменениями)
foreach($data as $rows) {
// форматируем массив в csv и записываем в файловый указатель
fputcsv($csv_file, $rows);
}
// закрываем файл
fclose($csv_file);
// смотрим конечный результат уже из измененного файла
echo '<pre>';
print_r(array_map('str_getcsv', file('data/file.csv')));
echo '</pre>';
// Искомое значение
$need = 'вилка';
// Строка для замены
$repl = 'Большая вилка';
// Путь к csv-файлу
$csv_file = 'data/file.csv';
// Новый массив с данными для записи в csv-файл
$csv_new = array();
// Если файл доступен для чтения
if (($fp = fopen($csv_file, 'r')) !== false) {
// Читать построчно, сохраняя каждую его строку во временный массив
while (($arr = fgetcsv($fp, 1000, ',')) !== false) {
// Если найдено искомое значение
if (($k = array_search($need, $arr)) !== false) {
// Перезаписать ячейку массива
$arr[$k] = $repl;
}
// Сохранить временный массив в новый двумерный массив
$csv_new[] = $arr;
}
fclose($fp);
}
// Если файл доступен для записи
if (($fp = fopen($csv_file, 'w')) !== false) {
// Проходим по массиву
foreach ($csv_new as $fields) {
// И пишем данные в csv-файл
fputcsv($fp, $fields);
}
fclose($fp);
}