Добавление двух целых чисел из двух разных строк

Допустим, я хочу включить 2 текстовых файла, как это (переменные являются путями):

<?php
include($ingredientsFirst);
include($ingredientsSecond);
?>

$ingredientsFirst (.txt-file):

1 Banana<br>
2 Apples<br>

$ingredientsSecond (.txt-file):

3 Banana<br>
4 Apples<br>

Есть ли функция, которая может суммировать эти ингредиенты из двух разных файлов, а затем выводить их так:

4 Banana<br>
6 Apples<br>

Заранее спасибо.

0

Решение

Ничего не встроено, но я думаю, что вы могли бы справиться с этим с некоторыми массивами. Я бы использовал ингредиенты как ключ, а количество — как ценность. Например что-то вроде этого:

<?php
function combine_ingredients($files_array)
{
$res = array();
foreach( $file_array as $file ){
//Open each file
$file_r = fopen($file, 'r');
while( ($line = fgets($file_r)) !== FALSE ){
$parts = explode(' ', $line);
//Grab the number of an ingredients
$quantity = intval(array_shift($parts));
$key = implode(" ", $parts);
//Have I seen this ingredient already
if( isset($res[$key]) )
$res[$key] += $quantity;
else
$res[$key] = $quantity;
}
//Close the file
fclose($file_r);
}
return $res;
}

print_r( combine_ingredients(array($ingredientsFirst, $ingredientsSecond)) );

Существует множество ошибок, которые могут возникнуть при несоответствии данных, но это может быть хорошей отправной точкой.

2

Другие решения

Других решений пока нет …