Задать вопрос
  • Извлечение всех элементов цикла?

    @FRATEREH Автор вопроса
    Вы не прочитали вопрос
  • Извлечение всех элементов цикла?

    @FRATEREH Автор вопроса
    Весомая проблема в том что ключи одинаковые оставлю еще такую версию json что бы можно было понять

    "measures": [{
    "symbol": "CP",
    "label": "Prohibition except under defined conditions",
    "products": [{
    "hs_version": "HS-17",
    "chapter": "29",
    "code": "290377",
    "reported_code": "ex 2903 77\u00a0600 0",
    "description": "Halogenated derivatives of acyclic hydrocarbons containing two or more different halogens, perhalogenated only with fluorine and chlorine (excl. chlorodifluoromethane, dichlorotrifluoroethanes, dichlorofluoroethanes, chlorodifluoroethanes, dichloropentafluoropropanes, bromochlorodifluoromethane, bromotrifluoromethane and dibromotetrafluoroethanes)",
    "reported_description": "CFCl3 (CFC-11) Trichlorofluoromethane",
    "interpreted": 0
    }, {
    "hs_version": "HS-17",
    "chapter": "29",
    "code": "290379",
    "reported_code": "ex 2903 79\u00a0300 0",
    "description": "Halogenated derivatives of acyclic hydrocarbons containing two or more different halogens (excl. perhalogenated, and chlorodifluoromethane, dichlorotrifluoroethanes, dichlorofluoroethanes, chlorodifluoroethanes, dichloropentafluoropropanes, bromochlorodifluoromethane, bromotrifluoromethane and dibromotetrafluoroethanes)",
    "reported_description": "C3H6FCl (HCFC-271) Chlorofluoropropane",
    "interpreted": 0
    }]
    }, {
    "symbol": "NAL-X",
    "label": "Non-automatic licensing",
    "products": [{
    "hs_version": "HS-17",
    "chapter": "29",
    "code": "290377",
    "reported_code": "ex 2903 77\u00a0600 0",
    "description": "Halogenated derivatives of acyclic hydrocarbons containing two or more different halogens, perhalogenated only with fluorine and chlorine (excl. chlorodifluoromethane, dichlorotrifluoroethanes, dichlorofluoroethanes, chlorodifluoroethanes, dichloropentafluoropropanes, bromochlorodifluoromethane, bromotrifluoromethane and dibromotetrafluoroethanes)",
    "reported_description": "CFCl3 (CFC-11) Trichlorofluoromethane",
    "interpreted": 0
    }, {
    "hs_version": "HS-17",
    "chapter": "29",
    "code": "290379",
    "reported_code": "ex 2903 79\u00a0300 0",
    "description": "Halogenated derivatives of acyclic hydrocarbons containing two or more different halogens (excl. perhalogenated, and chlorodifluoromethane, dichlorotrifluoroethanes, dichlorofluoroethanes, chlorodifluoroethanes, dichloropentafluoropropanes, bromochlorodifluoromethane, bromotrifluoromethane and dibromotetrafluoroethanes)",
    "reported_description": "C3H6FCl (HCFC-271) Chlorofluoropropane",
    "interpreted": 0
    }]
    }]


    Пробовал еще делать с array_slice но как то не помогло
  • Как преобразовать json string в php array с ключом - значением?

    @FRATEREH Автор вопроса
    И возможна ли подобная запись или нет?

    $zur[] = json_decode($html['data']['details'], true, 999, JSON_THROW_ON_ERROR);


    Просто на сколько я понимаю json идет строкой и у него нет ключей?

    (P.S. попробовал сделать финалку так и просто срезало код, но если так можно то может тогда мне стоить выше сразу делать подобное, что б ему было проще)
  • Как преобразовать json string в php array с ключом - значением?

    @FRATEREH Автор вопроса
    ThunderCat, Большое спасибо что вникли! Все именно так как вы описали! Но я вроде и вытаскиваю только то что мне нужно, но когда в 3 итерации я пытаюсь вытаскивать оно начинает игнорировать foreach, посмотрите пожалуйста на код, так ли я делаю?

    My Code
    $headers2 = array(
       "Accept: application/json",
       "Ocp-Apim-Subscription-Key: 8888888888",
    );
    
    $ch2 = curl_init("https://api.wto.org/qr/v1/notifications?locale=en&type=complete-notification&status=published");
    function ex_curl_setopt($ch2, int $option2, $val2): void
    {
        if (!curl_setopt($ch2, $option2, $val2)) {
            throw new \RuntimeException("curl_setopt failed: " . curl_errno($ch2) . ":" . curl_error($ch2));
        }
    }
    curl_setopt($ch2, CURLOPT_HTTPHEADER, $headers2);
    curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
    
    $response2 = curl_exec($ch2);
    if(curl_errno($ch2)){
        throw new \RuntimeException("curl_exec failed: ".curl_errno($ch2).": ".curl_error($ch2));
    }
    curl_close($ch2);
    
    
    
    $data2 = json_decode($response2, true, 999, JSON_THROW_ON_ERROR);
    
    $rty = [];
      foreach ($data2['data'] as $links) {
    $rty[] = $links['details'];  
      }
    
    
    
    $multi = curl_multi_init();
    $handles = [];
    
    
    foreach ($rty as $newdata) {
        $ch = curl_init ($newdata);
        
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers2);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    
        curl_multi_add_handle ($multi, $ch);
        $handles[$newdata] = $ch; 
    }
    
    do {
        $mrc = curl_multi_exec($multi, $active);
    } while ($mrc == CURLM_CALL_MULTI_PERFORM);
    
    while ( $active && $mrc == CURLM_OK)
    {
    if (curl_multi_select ($multi)== -1) {
    	usleep(100);
    	} 
    do {
    	$mrc = curl_multi_exec ($multi, $active);
    } while ($mrc == CURLM_CALL_MULTI_PERFORM);
    }
    $zur = [];
    foreach ($handles as $channel) {
        $html = curl_multi_getcontent($channel);
    $zur[] = json_decode($html, true, 999, JSON_THROW_ON_ERROR);
        curl_multi_remove_handle ($multi, $channel);
    }
    
    curl_multi_close ($multi);
    $der = [];
    foreach ($zur as $vasya) :
    foreach ($vasya['data'] as $vasya2) {
    $der[] = $vasya2;
    }	
    endforeach;
    
    
    
    $hpk = [];
    foreach ($der as $der2){
    $hpk[] = $der2['details'];	
    }
    
    
    $multi3 = curl_multi_init();
    $handles3 = [];
    
    
    foreach ($hpk as $newdata3) {
        $ch3 = curl_init ($newdata3);
        
    curl_setopt($ch3, CURLOPT_HTTPHEADER, $headers2);
    curl_setopt($ch3, CURLOPT_RETURNTRANSFER, true);
    
        curl_multi_add_handle ($multi3, $ch3);
        $handles3[$newdata3] = $ch3; 
    }
    
    do {
        $mrc3 = curl_multi_exec($multi3, $active3);
    } while ($mrc3 == CURLM_CALL_MULTI_PERFORM);
    
    while ( $active3 && $mrc3 == CURLM_OK)
    {
    if (curl_multi_select ($multi3)== -1) {
    	usleep(100);
    	} 
    do {
    	$mrc3 = curl_multi_exec ($multi3, $active3);
    } while ($mrc3 == CURLM_CALL_MULTI_PERFORM);
    }
    $tyh = [];
    foreach ($handles3 as $channel3) {
        $html3 = curl_multi_getcontent($channel3); 
    $tyh[] = [json_decode($html3, true, 999, JSON_THROW_ON_ERROR),$html3];
    
        curl_multi_remove_handle ($multi3, $channel3);
    }
    curl_multi_close ($multi3);
    var_dump($tyh);


    Просто возможно мне надо их как то вытаскивать до парса, ну тоесть из jsona (что бы снизить нагрузку) или возможно ли делать запрос хедлов только по ключам, что бы он получал только то что нужно?

    А касаемо html да это я в финале только буду использовать
  • Как преобразовать json string в php array с ключом - значением?

    @FRATEREH Автор вопроса
    ThunderCat, не увидел что у вас $html3 вынесен на круглые скобки и все в квадратных, сейчас сделал как у вас и если я делаю дамп не в закрытом керле то он и забирает только первую строчку, если за закрытым керлом то два варианта - 1. все печально ошибка про RAM - Out of Memory 2. та же херь со сносом кода только и в визуалке ничего не выводит
  • Как преобразовать json string в php array с ключом - значением?

    @FRATEREH Автор вопроса
    ThunderCat, json тут 99% не битый, оно даже без парса просто при выводе jsona нулит эти стринги типо вот:

    JSON
    string(3695) "{"data":{"id":6283,"notification_id":1216,"member_name":"New Zealand","member_code":"C554","document_symbol":"G\/MA\/QR\/N\/NZL\/5","qr_serial_number":19,"qr_group":843112046,"measures":[{"symbol":"CP-X","label":"Prohibition except under defined conditions","products":[{"hs_version":null,"chapter":null,"code":null,"reported_code":"Various","description":null,"reported_description":"Birds and other wildlife (any bat or any bird) not being a domestic bird; or any reptile or any amphibian or any terrestrial or freshwater invertebrate specified in Schedule 7 to the Wildlife Act 1953 or any skin; feathers; egg; flesh; or other part of any such species).","interpreted":0},{"hs_version":"HS-12","chapter":"01","code":"010620","reported_code":"0106.20","description":"Live reptiles \"e.g. snakes, turtles, alligators, caymans, iguanas, gavials and lizards\"","reported_description":"Birds and other wildlife (any bat or any bird) not being a domestic bird; or any reptile or any amphibian or any terrestrial or freshwater invertebrate specified in Schedule 7 to the Wildlife Act 1953 or any skin; feathers; egg; flesh; or other part of any such species).","interpreted":0},{"hs_version":"HS-12","chapter":"01","code":"010631","reported_code":"0106.31","description":"Live birds of prey","reported_description":"Birds and other wildlife (any bat or any bird) not being a domestic bird; or any reptile or any amphibian or any terrestrial or freshwater invertebrate specified in Schedule 7 to the Wildlife Act 1953 or any skin; feathers; egg; flesh; or other part of any such species).","interpreted":0},{"hs_version":"HS-12","chapter":"01","code":"010632","reported_code":"0106.32","description":"Live psittaciformes \"incl. parrots, parrakeets, macaws and cockatoos\"","reported_description":"Birds and other wildlife (any bat or any bird) not being a domestic bird; or any reptile or any amphibian or any terrestrial or freshwater invertebrate specified in Schedule 7 to the Wildlife Act 1953 or any skin; feathers; egg; flesh; or other part of any such species).","interpreted":0},{"hs_version":"HS-12","chapter":"01","code":"010639","reported_code":"0106.39","description":"Live birds (excl. birds of prey, psittaciformes, parrots, parrakeets, macaws, cockatoos, ostriches and emus)","reported_description":"Birds and other wildlife (any bat or any bird) not being a domestic bird; or any reptile or any amphibian or any terrestrial or freshwater invertebrate specified in Schedule 7 to the Wildlife Act 1953 or any skin; feathers; egg; flesh; or other part of any such species).","interpreted":0}]}],"administrative_mechanisms":"This measure prohibits the exportation of birds and other wildlife, except with the prior written authority of the Director-General of the Department of Conservation. Administered by the Department of Conservation.","national_legal_bases":"Wildlife Act 1953 ; Wild Animal Control Act 1977; Trade in Endangered Species Act 1989","description":"Conditional prohibition on the exportation of birds and other wildlife","period_from_dt":"01\/10\/2020","period_to_dt":"30\/09\/2022","in_force_dt":"18\/03\/2021","wto_agreements":[{"agreement_code":"026","agreement_source":"GATT","agreement_label":"GATT 1994","agreement_web_link":"http:\/\/www.wto.org\/english\/docs_e\/legal_e\/gatt47_01_e.htm","article_code":"021808","article_element_code":2,"article_description":"XX:(g) - (g) relating to the conservation of exhaustible natural resources if such measures are made effective in conjunction with restrictions on domestic production or consumption;","article_element_label":"BODY","article_footnote":"","article_index":"Article XX:(g)"}],"non_wto_agreements":[]}}"
    string(0) ""
    string(0) ""
    string(0) ""
    string(0) ""
    string(3980) "{"data":{"id":6288,"notification_id":1216,"member_name":"New Zealand","member_code":"C554","document_symbol":"G\/MA\/QR\/N\/NZL\/5","qr_serial_number":24,"qr_group":631730182,"measures":[{"symbol":"CP-X","label":"Prohibition except under defined conditions","products":[{"hs_version":"HS-17","chapter":"28","code":"28","reported_code":"28","description":"INORGANIC CHEMICALS; ORGANIC OR INORGANIC COMPOUNDS OF PRECIOUS METALS, OF RARE-EARTH METALS, OF RADIOACTIVE ELEMENTS OR OF ISOTOPES","reported_description":"Goods as listed in the New Zealand Strategic Goods List 2019 https:\/\/www.mfat.govt.nz\/assets\/Trade-General\/Brokering-weapons-AND-Trading-weapons-and-controlled-chemicals\/September-2019-NZ-Strategic-Goods-List-reviewed.docx","interpreted":0},{"hs_version":"HS-17","chapter":"29","code":"29","reported_code":"29","description":"ORGANIC CHEMICALS","reported_description":"Goods as listed in the New Zealand Strategic Goods List 2019 https:\/\/www.mfat.govt.nz\/assets\/Trade-General\/Brokering-weapons-AND-Trading-weapons-and-controlled-chemicals\/September-2019-NZ-Strategic-Goods-List-reviewed.docx","interpreted":0},{"hs_version":"HS-17","chapter":"84","code":"84","reported_code":"84","description":"NUCLEAR REACTORS, BOILERS, MACHINERY AND MECHANICAL APPLIANCES; PARTS THEREOF","reported_description":"Goods as listed in the New Zealand Strategic Goods List 2019 https:\/\/www.mfat.govt.nz\/assets\/Trade-General\/Brokering-weapons-AND-Trading-weapons-and-controlled-chemicals\/September-2019-NZ-Strategic-Goods-List-reviewed.docx","interpreted":0},{"hs_version":"HS-17","chapter":"85","code":"85","reported_code":"85","description":"ELECTRICAL MACHINERY AND EQUIPMENT AND PARTS THEREOF; SOUND RECORDERS AND REPRODUCERS, TELEVISION IMAGE AND SOUND RECORDERS AND REPRODUCERS, AND PARTS AND ACCESSORIES OF SUCH ARTICLES","reported_description":"Goods as listed in the New Zealand Strategic Goods List 2019 https:\/\/www.mfat.govt.nz\/assets\/Trade-General\/Brokering-weapons-AND-Trading-weapons-and-controlled-chemicals\/September-2019-NZ-Strategic-Goods-List-reviewed.docx","interpreted":0},{"hs_version":"HS-17","chapter":"90","code":"90","reported_code":"90","description":"OPTICAL, PHOTOGRAPHIC, CINEMATOGRAPHIC, MEASURING, CHECKING, PRECISION, MEDICAL OR SURGICAL INSTRUMENTS AND APPARATUS; PARTS AND ACCESSORIES THEREOF","reported_description":"Goods as listed in the New Zealand Strategic Goods List 2019 https:\/\/www.mfat.govt.nz\/assets\/Trade-General\/Brokering-weapons-AND-Trading-weapons-and-controlled-chemicals\/September-2019-NZ-Strategic-Goods-List-reviewed.docx","interpreted":0},{"hs_version":"HS-17","chapter":"93","code":"93","reported_code":"93","description":"ARMS AND AMMUNITION; PARTS AND ACCESSORIES THEREOF","reported_description":"Goods as listed in the New Zealand Strategic Goods List 2019 https:\/\/www.mfat.govt.nz\/assets\/Trade-General\/Brokering-weapons-AND-Trading-weapons-and-controlled-chemicals\/September-2019-NZ-Strategic-Goods-List-reviewed.docx","interpreted":0}]}],"administrative_mechanisms":"Administered by the Ministry of Foreign Affairs and Trade.","national_legal_bases":"Chemical Weapons (Prohibition) Act 1996; Customs and Excise Act 1996; Customs Export Prohibition Order 2017","description":"Conditional prohibition on the exportation of goods and technologies that can be used in the production; development or use of conventional weapons; nuclear; chemical or biological weapons (strategic goods).","period_from_dt":"01\/10\/2020","period_to_dt":"30\/09\/2022","in_force_dt":"18\/03\/2021","wto_agreements":[{"agreement_code":"026","agreement_source":"GATT","agreement_label":"GATT 1994","agreement_web_link":"http:\/\/www.wto.org\/english\/docs_e\/legal_e\/gatt47_01_e.htm","article_code":"0219","article_element_code":2,"article_description":"Article XXI - Article XXI - Security Exceptions.","article_element_label":"BODY","article_footnote":"","article_index":"Article XXI"}],"non_wto_agreements":[]}}"
    string(0) ""
    string(0) ""
    string(0) ""
    string(0) ""
    string(0) ""
    string(0) ""
    string(0) ""
    string(0) ""
    string(0) ""
    string(0) ""
    string(0) ""
    string(0) ""
    string(0) ""
    string(0) ""
    string(0) ""
    string(0) ""
    string(0) ""


    и это начинается с 173 строки, первые строки он забирает нормально

    Но всего у меня стринги идут с 69 по 920 и наверное это связано с перенагрузом + он же до этого еще два запроса curl отрабатывает, что б забрать исходные url (потому что сам код грузит долго)

    попробуйте так, посмотрите какие строки туда попадают:

    тут вообще весело если я добавлю в хвост $html3 то когда я смотрю чисто код он вообще его к фигам срезает, тоесть он отгружает только header и далее просто белое поле даже без строк и соответсвенно без скрола, но при этом если я просто открываю страницу он отгружает ее как полагается с footer и выводи просто ключи с ++ (типо [1] => Null; [2] => Null; ...) которые равные Null при том все

    Просто если это перенагрузка то, как я понимаю мне просто надо выводит значения частями и на разных страницах?
  • Как преобразовать json string в php array с ключом - значением?

    @FRATEREH Автор вопроса
    FanatPHP, спасибо я так делал. Может json_decode не рендерить если слишком много инфы? Потому что при таком коде нихера не выводит

    $tyh = [];
    foreach ($handles3 as $channel3) {
        $html3 = curl_multi_getcontent($channel3);
    	$tyh[] = json_decode($html3, true, 999, JSON_THROW_ON_ERROR);
        curl_multi_remove_handle ($multi3, $channel3);
    }
    
    curl_multi_close ($multi3);
    var_dump($tyh);


    Но при этом если я дамп делаю до закрытия керла выводит только первую страну, если делаю дамп $html3 то выводит часть стран но дохера стрингов с 0 значение, это перегруз или в чем может быть проблема?
  • Как преобразовать json string в php array с ключом - значением?

    @FRATEREH Автор вопроса
    ThunderCat, доки к API? Их нет. Информацию с php.net в том числе по приводимой вам функции array_walk_recursive стараюсь читать и пытаться разобраться. Просто этот api максимум что я видел это как люди пытались реализовать через питон или руби.

    Да цель вообще то не такая и сложная наверное - 1) из первого запроса curl беру два параметра - название страны и url со списком документов по этой стране. Названия вывожу на страницу url передаю во второй запрос 2) Когда человек нажимает на название страны у него выпадает список (типо <li>) с нормативными документами по этой стране и их коротким описанием - это все лежит во втором запросе + из него я забираю url на сам документ и вывожу его в третьем запросе 3) Третий запрос выводит сам документ и его я запихиваю в модальное окно, что бы когда человек нажимал на название документа, у него открывалась модалка с его содержимым. Как то так

    По коду :
    Если я делаю json_decode до закрытия curl оно выводит все элементы, если после то только последний


    Ну тут я понял, я в целом и изначально об этом думал, что он просто перебирает его по порядку доходит до конца и выводит конец, а если я его вызываю до закрытия то он выводит все подряд, но может это и полный бред но у меня еще был вариант когда я создавал переменную с нулевым массивом и записывал значения в массив тогда оно выводило все то же ток в массиве с номерами (в том числе если я его выводил за закрыт керлом), но json_decode в таком случае не работал
  • Как преобразовать json string в php array с ключом - значением?

    @FRATEREH Автор вопроса
    Большое Спасибо!

    1) Уберите всю эту хрень вывода под спойлер

    Убрал

    2)
    Если я делаю json_decode до закрытия curl оно выводит все элементы, если после то только последний
    какие элементы? Код давайте, явно вы там какой-то треш намутили.


    Вот то что я получаю view-source:https://spo.grsos.com/test6/ - он выводит вот это curl_multi_getcontent($channel); - в $channel по сути лежит массив url с которых он и забирает данные для каждой из стран

    сам php у меня такой

    $headers2 = array(
       "Accept: application/json",
       "Ocp-Apim-Subscription-Key: 888888888888",
    );
    
    $ch2 = curl_init("https://api.wto.org/qr/v1/notifications?locale=en&type=complete-notification&status=published");
    function ex_curl_setopt($ch2, int $option2, $val2): void
    {
        if (!curl_setopt($ch2, $option2, $val2)) {
            throw new \RuntimeException("curl_setopt failed: " . curl_errno($ch2) . ":" . curl_error($ch2));
        }
    }
    curl_setopt($ch2, CURLOPT_HTTPHEADER, $headers2);
    curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
    
    $response2 = curl_exec($ch2);
    if(curl_errno($ch2)){
        throw new \RuntimeException("curl_exec failed: ".curl_errno($ch2).": ".curl_error($ch2));
    }
    curl_close($ch2);
    
    
    
    $data2 = json_decode($response2, true, 999, JSON_THROW_ON_ERROR);
    
    $rty = [];
      foreach ($data2['data'] as $links) {
    $rty[] = $links['details'];  
      }
    
    
    
    $multi = curl_multi_init();
    $handles = [];
    
    
    foreach ($rty as $newdata) {
        $ch = curl_init ($newdata);
        
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers2);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    
        curl_multi_add_handle ($multi, $ch);
        $handles[$newdata] = $ch; 
    }
    
    do {
        $mrc = curl_multi_exec($multi, $active);
    } while ($mrc == CURLM_CALL_MULTI_PERFORM);
    
    while ( $active && $mrc == CURLM_OK)
    {
    if (curl_multi_select ($multi)== -1) {
    	usleep(100);
    	} 
    do {
    	$mrc = curl_multi_exec ($multi, $active);
    } while ($mrc == CURLM_CALL_MULTI_PERFORM);
    }
    
    foreach ($handles as $channel) {
        $html = curl_multi_getcontent($channel);
    
    var_dump($html);
    
        curl_multi_remove_handle ($multi, $channel);
    }
    
    curl_multi_close ($multi);
    
    
    $zur = json_decode($html, true, 999, JSON_THROW_ON_ERROR);
    
    var_dump($zur);


    6)
    я про то что у меня в 1 массиве есть подмассив например и я не могу просто фильтровать скажем по запятой
    array_walk_recursive()


    Но на сколько я понимаю она будет применена к каждому элементу массива?

    А как мне это реализовать, что б я мог сделать примерно это foreach ($html['data'] as $html2) {echo $html['id'];}
  • Извлечение вложенного API?

    @FRATEREH Автор вопроса
    Adamos, подскажите пожалуйста тогда как это правильно загуглить - я имею ввиду то когда ты берешь данные (в частности массив) из одного запроса и используешь их во втором запросе - пытался смотреть тут
    hotexamples.com но ничего не нашел подобного
  • Извлечение вложенного API?

    @FRATEREH Автор вопроса
    Спасибо, понял. Но если я выведу массив просто в переменную (что бы это было string), оно так же будет не корректно если я вставлю в curl_init, как это можно тогда реализовать?
  • Curl_multi_init где ошибка?

    @FRATEREH Автор вопроса
    galaxy, выше все показано
  • Curl_multi_init где ошибка?

    @FRATEREH Автор вопроса
    galaxy, Не работает
  • Curl_multi_init где ошибка?

    @FRATEREH Автор вопроса
    Это странно но ладно, если я делаю низ таким

    curl_multi_remove_handle($mh, $ch1);
    curl_multi_remove_handle($mh, $ch2);
    
    curl_multi_close($mh);
    
    $response1 = curl_multi_getcontent($ch_1);
    $response2 = curl_multi_getcontent($ch_2);
    
    $response1 = json_decode($response, true, 999, JSON_THROW_ON_ERROR);
    
    var_dump($response);


    то получаю примерно ничего но при этом то что я не совсем могу понять, потому что оно открывает в html div вывода но при этом в само конце файле и не закрывает его - просто <div class="entry-content">

    Если я делаю такой код то оно выводит Null ну я так понимаю это из-за отсутствия декодера

    curl_multi_remove_handle($mh, $ch1);
    curl_multi_remove_handle($mh, $ch2);
    
    curl_multi_close($mh);
    
    $response1 = curl_multi_getcontent($ch_1);
    $response2 = curl_multi_getcontent($ch_2);
    
    var_dump($response1);


    Но при этом нормальный html, в нормальном месте

    <div class="entry-content">
    		NULL
    	</div>
  • Curl_multi_init где ошибка?

    @FRATEREH Автор вопроса
    $data = json_decode($response, true, 999, JSON_THROW_ON_ERROR);


    curl_multi_getcontent просто он отвечает за выведение в переменную как я понимаю, наверное мне нужно сначала вывести в переменную, а потом делать декод json_decode этой переменной так?
  • Как вывести все значение массива а не только одно?

    @FRATEREH Автор вопроса
    ThunderCat, увы но без этого вп сленга никак) потому что в вп такая история, что php ты можешь по сути добавлять или в саму тему или в плагин, нельзя ставить напрямую на саму страницу ибо оно просто этот код закоментит - по сути проигнорит. И тут есть два варианта писать в файле темы - скажем в footer или header php тот код, который вы привели но перед этим писать что вроде is_page. Или второй вариант писать или в плагине или function php но только на чистом языке php и выводить это сначала в функцию, а функцию присваивать шорткоду (что я и делаю) - ибо если вставить подобный код с html будет проблемы при чтении плагина, потому что он приемлет html только в таком виде '<p>'. Просто я не знаю есть ли php подобная js команда - что то вроде document.getElementById или by class, если есть что то подобное напишите пожалуйста это бы значимо упростило мне жизнь
  • Как вывести все значение массива а не только одно?

    @FRATEREH Автор вопроса
    FanatPHP, да нет тут то все ясно, спасибо! Просто это был абстрактный вопрос если по факту у нас есть такой массив и нужно вывести [0] [1] [2] просто я не понимаю как в таких массивах ключ взять потому что если даже условно присваивать "test" => $qan1 то как бы не совсем то - оно выдаст

    [test] => Array
    (
    [0] => Имя
    [1] => Возраст
    )

    но вывести по ключу test вы не можете
  • Как вывести все значение массива а не только одно?

    @FRATEREH Автор вопроса
    Большое спасибо, я понимаю что лучше вот такой формат записи применять, но проблема в том что это все делается в WP. И лучший вариант это делать шорткодами что б не марать header.php или footer.php c ограничением для id страниц вывода. А если ты делаешь шортокодом то у тебя два варианта или кидать в function или плагином, но что б это было боле автономно я пошел плагином, а там только php можешь писать или его начинать выбивать, поэтому как то так
  • Как вывести все значение массива а не только одно?

    @FRATEREH Автор вопроса
    FanatPHP, Потому что мне тогда надо Вопросу и Ответу присвоить одну переменную а Топику вторую

    и как я писал конкатенация в этом случае выдаст сначала вывод вопрос-ответ а потом топик

    Просто вы не могли бы мне пожалуйста объяснить, если я имею подобный массив

    (
        [0] => Array
            (
                [0] => Имя
                [1] => Возраст
             )
    [1] => Array
            (
                [0] => Ты кто?
                [1] => Сколько лет?
             )
    [2] => Array
            (
                [0] => Вася
                [1] => 5
             )
    )


    Как я могу скажем вывести все значения массивов с ключами 1 и 2 а не выводить ключи самих значений в чем была моя ошибка вот тут? Просто для меня важно это понять

    foreach ($qan4 as $repos):
    $qan5 .= '<dt><span>'.$repos[0].'</span><div class="acc-icon-wrap parallax-wrap"><div class="acc-button-icon parallax-element"><i class="fa fa-angle-down"></i></div></div></dt><dd class="accordion-content"><h3>Question</h3><dd>'.$repos[1].'</dd><h3>Answer</h3><dd>'.$repos[2].'</dd></div>';
    endforeach;
  • Как вывести все значение массива а не только одно?

    @FRATEREH Автор вопроса
    nokimaro, Спасибо, это работает

    Единственный момент join это тот же implode или есть разница?