Восстановление API как отобразить его в ?

#php #wordpress #api

#php #wordpress #API

Вопрос:

в настоящее время мне нужно создать веб-сайт с созданием внешнего API, я могу отображать данные, например, я хотел бы, чтобы они отображались в <select>

Однако, когда я создаю свой код, ничего не отображается, однако, если я отображаю его в данных, p отображается, но в таблице, как отобразить данные в <select>

 function dog_func ($atts) {
    $contents = file_get_contents('https://dog.ceo/api/breeds/list/all');
    $contents_arr = json_decode($contents);
    echo "<select>" . $contents ."</select>" ;
}
add_shortcode ('dog_api', 'dog_func');
  

или

 function dog_func ($atts) {
     $contents = file_get_contents('https://dog.ceo/api/breeds/list/all');
     $contents_arr = json_decode($contents);
     echo '<select multiple value="$contents"></select>';
}
add_shortcode ('dog_api', 'dog_func');
  

Во время этих тестов ничего не отображается

И

 function dog_func ($atts) {
    $contents = file_get_contents('https://dog.ceo/api/breeds/list/all');
    $contents_arr = json_decode($contents);
    echo "<p>" . $contents ."</p>" ;
}
add_shortcode ('dog_api', 'dog_func');
  

Пройдите, но отобразите в «gross»

Комментарии:

1. Являются ли ответы просто массивами json со значениями или это объект json, содержащий и другие данные?

2. просто массив со значениями JSON

Ответ №1:

Вы можете сделать это <select> следующим образом

 $contents_arr = json_decode($contents);
echo '<select>';
foreach($contents_arr->message as $key=> $ca){
 echo "<option value='".$key."'>" . $key ."</option>" ;
}
echo '</select>';
  

И для <p>

 $contents_arr = json_decode($contents);

foreach($contents_arr->message as $key=> $ca){
 echo "<p>" . $key ."</p>" ;
}
  

На самом деле это объект json, который вы можете декодировать в массив, а затем анализировать его с помощью foreach цикла

Комментарии:

1. Я пробую ваш пример, но он не работает, проще говоря, я хотел бы очистить свои данные, отображаемые в простом списке, как их очистить {«статус»:»успех»,»сообщение»:{«аффенпинчер»:[],»африканский»: [],»эрдельтерьер»:[], «акита»:[], «аппенцеллер»:[], «басенджи»:[], «бигль»:[], «блютик»:[], «борзой»:[]…..}

2. Чистый смысл ?.

3. Очистите это {«status»:»success»,»message»:{«affenpinscher»:[],»african»:[],»airedale»:[],»akita»:[],»appenzeller»:[],»basenji»:[],»beagle»:[],»bluetick»:[],»borzoi»:[]…..} а после африканский аффенпинчер …..

4. $contents это обычный PHP-массив. Вы можете написать $content = $content['message']; и $content должны содержать только массив сообщений («affenpinscher» и так далее). Убедитесь, что вы вызываете json_decode заранее.

5. Я снова взглянул на структуру содержимого API и заметил, что «сообщения» — это объект, а не массив. Поэтому вам нужно написать $content = $content_arr->message; , что вы можете проверить это, позвонив print_r($content_arr); , и PHP выведет что-то вроде «Объект стандартного класса».