Я не знаю, почему, но у меня был код, который проверил массив, чтобы узнать, было ли оно уже значением массива. Это позволит сохранить массив только один раз. Вот код:Использование in_array для значения в массиве с именами ключей
$categoryatributesarray = [];
$categoryarray['type_name'] = 'NA';
$categoryarray['type_id'] = 'NA';
$categoryarray['value_name'] = 'NA';
$categoryarray['value_id'] = 'NA';
$categoryarray['shopify_type'] = 'NA';
array_push($categoryatributesarray, $categoryarray);
foreach ($CategoriesMerging as $key => $value) {
if (empty($value['CategoriesMerging']['category_id'])) {
$this->redirect('/product_mercado_libres/categoryMerging');
return false;
}
$categoryatributes = $meli->get('/categories/' . $value['CategoriesMerging']['category_id'] . '/attributes');
if (!empty($categoryatributes['body'])) {
foreach ($categoryatributes['body'] as $key1 => $value1) {
foreach ($value1->values as $key2 => $value2) {
if (!in_array($value2->id, $categoryatributesarray)) {
$categoryarray['type_name'] = $value1->name;
$categoryarray['type_id'] = $value1->id;
$categoryarray['value_name'] = $value2->name;
$categoryarray['value_id'] = $value2->id;
$categoryarray['shopify_type'] = $value['CategoriesMerging']['type'];
array_push($categoryatributesarray, $categoryarray);
}
}
}
}
}
echo '<pre>';
echo print_r($categoryatributesarray);
echo '</pre>';
Массив это дает мне и то, что смотрит на это следующее:
Array
(
[0] => Array
(
[type_name] => NA
[type_id] => NA
[value_name] => NA
[value_id] => NA
[shopify_type] => NA
)
[1] => Array
(
[type_name] => Talle
[type_id] => 30000
[value_name] => 0-3 M
[value_id] => 5f95725
[shopify_type] => Conjuntos
)
[2] => Array
(
[type_name] => Talle
[type_id] => 30000
[value_name] => 3-6 M
[value_id] => ccbd9f4
[shopify_type] => Conjuntos
)
.....
)
Что Im ищет это для value_id не прийти 2 раза в одном массиве Im печать.
Если вы хотите, чтобы массив '$ categoryatributesarray' был уникальным в' value_id', вы можете использовать 'value_id' в качестве ключа массива при создании' $ categoryatributesarray'. –
Это приятное обходное решение: на данный момент я использую вашу идею. Но я хотел бы знать, почему способ, которым он строится, не работает. Что мне нужно изменить на in_array, чтобы он работал? D: –