Подскажите пожалуйста как можно явно обратится к ключу структуру параметром?
не идти циклом по структуре а именно явно обращаться к ключам
такие варианты не срабатывают
Тест_Ключа = "UF_1C_ITEM_KOD_"+1;
Сообщить("пример 1 " + ОбработкаОтвета.UF_1C_ITEM_KOD_+1);
Сообщить("пример 3 " + ОбработкаОтвета.Тест_Ключа);
Тест_Ключа = "UF_1C_ITEM_KOD_"+1;
Сообщить("пример 1 " + ОбработкаОтвета["UF_1C_ITEM_KOD_"+1]);
Сообщить("пример 3 " + ОбработкаОтвета[Тест_Ключа]);
ИмяКлюча = "UF_1C_ITEM_KOD_" + 1;
ЗначениеСвойства = ОбработкаОтвета[ИмяКлюча];
$url1arr = array_column($arr1, 'url');
foreach ($arr2 as $arr2s) {
$key = null;
$key = array_search( $arr2s['url'] , $url1arr );
//Если не нашел будет действие
if ( $key == false) {
var_dump ($arr2s);
}
}
$url1arr = array_column($arr1, 'url', 'url');
foreach ($arr2 as $arr2s) {
//Если не нашел будет действие
if (!isset($url1arr[$arr2s['url']])) {
var_dump ($arr2s);
}
}
$array1 = [
"ID" => 42,
"field" => "Earth",
];
$array2 = [
"ID" => 42,
"field" => "Mars",
];
Если работа с инфоблоками, то можно в select указать свойства сразу, и тогда битрикс сам соединит таблицы
PROP, PROP.VALUE, PROP.ITEM.VALUE, PROP.ELEMENT (типы свойств посмотрите в справке, ссылку указал внизу)
\Bitrix\Iblock\Elements\ElementСatalogTable::getList([
'select' => [
'NAME',
'ID',
'PROP_TEXT_VALUE' => 'PROP_TEXT.VALUE', //строка
'PROP_CITY_VALUE' => 'PROP_CITY.ITEM.VALUE', // список
'PROP_COURSE_' => 'PROP_COURSE_ELEMENT.ELEMENT', // свойство с привязкой элемента
],
'cache' => [
'ttl' => 3600
],
])->fetchAll() // если хотим просто массив получить готовый
$elements = \Bitrix\Iblock\Elements\ElementСatalogTable::getList([
'select' => [
'NAME',
'ID',
'PROP_NAME.ITEM', // список
//'PROP_NAME', // строка
],
'cache' => [
'ttl' => 3600
],
])->fetchCollection();
foreach ($elements as $element)
{
echo $element->getPropName()->getValue();
//echo $element->getPropName()->getElement()->getValue();
}
$iBlockId = 10;
$sectionId = 53;
$filter = [
'IBLOCK_ID' => $iBlockId,
'ACTIVE' => 'Y',
'IBLOCK_SECTION_ID' => $sectionId
];
$select = [
'ID', 'IBLOCK_ID', 'countElements'
];
$runtime = [
'elements' => [
'data_type' =>"Bitrix\Iblock\ElementTable",
'reference' => [
'=this.IBLOCK_ID' => 'ref.IBLOCK_ID',
'=this.ID' => 'ref.IBLOCK_SECTION_ID',
'=this.ACTIVE' => 'ref.ACTIVE',
],
//'join_type' => "LEFT"
],
'countElements' => [
'data_type' => 'integer',
'expression' => ['count(%s)', 'elements.ID']
]
];
$res = Bitrix\Iblock\SectionTable::getList(
[
'filter' => $filter,
'select' => $select,
'runtime' => $runtime
]
);
while($section = $res->fetch())
{
\Bitrix\Main\Diag\Debug::dump($section, $section['ID']);
}
$result = array_sum(array_filter(
array_count_values($all_items),
fn($n) => in_array($n, $filters),
ARRAY_FILTER_USE_KEY
));
$result = count(array_intersect($all_items, $filters));