Как изменить значение в многомерном массиве в PHP - PullRequest
0 голосов
/ 14 декабря 2009

Я хочу изменить некоторые значения в моем многомерном массиве в PHP.

Предположим, что у меня есть:

$photographer[0]['uid'] = '1001';
$photographer[0]['point'] = '0';  
$photographer[1]['uid'] = '1002';
$photographer[1]['point'] = '1';

Я хочу изменить точку фотографа с uid = '1001' на 3. Как я могу это сделать?

Ответы [ 4 ]

3 голосов
/ 14 декабря 2009

Вместо того, что вы используете в настоящее время, с индексом массива фотографов 0, почему бы не индексировать точки с помощью uid?

$photographer[1001]['point'] = '0';
$photographer[1002]['point'] = '1';
2 голосов
/ 14 декабря 2009

Только циклически просматривая каждый член массива:

for ($i = 0; $i <= count($photographer); $i++)
 {

   if ($photographer[$i]['uid'] == "1001")
     $photographer[$i]['point'] = 3;
 }

Я не знаю вашей ситуации, но, возможно, имеет смысл использовать uid в качестве ключа массива, тогда вы можете сделать это:

$photographer[1001]["point"] = 3;
0 голосов
/ 14 декабря 2009

Если этот контент загружается из базы данных в многомерный массив, а uid является первичным ключом, вам лучше всего делать то, что предложил Пекка, и установить ключ массива в качестве uid. Это позволит вам идентифицировать отдельных фотографов через ваш стол.

0 голосов
/ 14 декабря 2009
for ($i = 0; i < count($photographer); ++i) {
  if ($photographer[$i]['uid'] == '1001') {
    $photographer[$i]['point'] = 3;
    break;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...