Это возможно с php - PullRequest
       10

Это возможно с php

0 голосов
/ 02 августа 2009

У меня есть два индексированных массива $ измерения [] и $ diffs [],

$ sizes [] заполняется значениями из базы данных, а $ diffs [] получает значения из функции, которая вычисляет разницу из двух измерений.

Когда у меня есть коллекция различных измерений в $ измерениях [], я хочу добавить значение только к одному элементу массива в массиве $ diffs [], а затем перебрать его, после чего элемент массива получил обновленную проверку на соответствие. Элемент массива index в массиве $ sizes [] вычитает его оттуда.

Что я пытаюсь сделать, так это вычесть определенную разницу из соответствующего измерения, когда у меня есть набор измерений.

Возможно ли это в php и как мне поступить так?

Редактировать: чтобы сделать его более информативным (английский не мой родной язык и не php)

$measurements Array ( [0] => 1469 [1] => 1465 [2] => 739 [3] => 849 ) 

$diffs Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 ) 

Я бы хотел обновить индекс массива $ diffs [2] => 200, чтобы он стал

Array ( [0] => 0 [1] => 0 [2] => 200 [3] => 0 )

, а затем вычтите индекс массива $ diffs [2] из индекса массива $ измерений [2] в этом случае 739 - 200

Я искренне надеюсь, что это проясняет ситуацию.

Ответы [ 4 ]

4 голосов
/ 02 августа 2009

Я уверен, что это возможно ... звучит так, как будто вам нужно всего лишь несколько foreach es и немного базовой арифметики

Но более конкретно, я не могу вам помочь. Я не могу понять ваше описание проблемы.


Редактировать: Теперь, с дополнительной информацией о таблице, код не так уж и сложен. Вот как бы я это сделал:

foreach ($measurements as $index => $measurement) {
  $measurements[$index] -= $diffs[$index]; // subtract the negative difference from the measurement.
  unset($diffs[$index]);           // clear the modifier after use.
}

Этот код перебирает каждый элемент массива $measurements и вычитает число из соответствующего индекса в $diffs. Этот код не требует, чтобы $diffs соответствовал размеру с $measurements, потому что PHP приведет к отсутствующему значению индекса к нулю.

0 голосов
/ 02 августа 2009

Чтобы ответить на ваши вопросы: «да» и «усилие»

0 голосов
/ 02 августа 2009

Если я вас правильно понял, вы хотите сначала что-то изменить в массиве $ diffs, а затем вычесть ТОЛЬКО обновленный элемент в этом массиве из элемента в массиве $ sizes, где индексы соответствуют.

Полагаю, сначала вам нужно будет сделать копию $ diffs, затем внести в нее изменения, затем сравнить ее с исходной (например, с помощью foreach ()) и обновить значения, если что-то изменилось. по определенному индексу.

'Извините, если я не понял!

0 голосов
/ 02 августа 2009

Может быть, что-то вроде этого, если ваш массив равен 100. Синтаксис может быть отключен и, как и предыдущий плакат, не уверен, что я понял вашу проблему.

for ( $counter = 0; $counter <= 100; $counter += 1) {
    $measurements[$counter] = $measurements[$counter] - $diff[$counter];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...