PHP array_combine с ошибкой и не работает должным образом - PullRequest
0 голосов
/ 31 января 2012

Я пытаюсь запустить объединение массивов, но не работает, потому что между массивами twoo существуют разные значения, эти два массива - $ keys и $ value, $ value содержит города "Presidente Prudente" и "São".Пауло "Государство в двух разных позициях, когда оно должно быть только в одной позиции.Например, «Presidente Prudente - São Paulo» этот класс используется для различных других значений и различных значений, и это происходит только с ключами города и штата

var_dump $ keys ниже, в переменной $ keys, поле «cidade» означаетГород

 array
  0 => string 'Make' (length=4)
  1 => string 'Model' (length=5)
 array
  0 => string 'cidade' (length=6)

var_dump $ значение:

array
 0 => string 'BMW' (length=3)
 1 => string 'X6' (length=2)
array
  0 => string 'São Paulo' (length=10)
  1 => string 'Presidente Prudente' (length=19)

Мой текущий класс:

 public function __construct($propertyId, $levelIds, $value, $treeDepth = null)
{
    $this->propertyId = $propertyId;
    $keys = explode("," , $levelIds);
    $keys = array_map("trim", $keys);
    while (count($value) < count($keys))
        $value[] = null;
    $this->value = array_combine($keys, $value);
    $this->treeDepth = $treeDepth;

}

ошибка:

(!) Предупреждение: array_combine() [function.array-объединить]: оба параметра должны иметь одинаковое количество элементов в C: \ wamp \ www \ carros \ system \ lib \ orm \ types \ TreeType.php в строке 264

1 Ответ

0 голосов
/ 31 января 2012

Вы уже знаете, что array_combine нужно одинаковое количество элементов в обоих массивах (ключи и значения), чтобы оно могло соответствовать им, верно?

вот пример:

$keys = array('city','country');
$values = array('São Paulo','Brazil');
print_r(array_combine($keys,$values));
/*
Array
(
    [city] => São Paulo
    [country] => Brazil
)
*/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...