Помогите со значениями массива ?

usergeyv

Знаток
Регистрация
5 Июл 2013
Сообщения
152
Реакции
25
Получения
PHP:
$url = "ссылка"; // URL JSON-файла
   
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, $url);
$response = curl_exec($curl);
curl_close($curl);
$content = json_decode($response,true);
print_r($content);
Результат
Код:
Array ( [0] => Array ( [title_ru] => типа названия [title_en] => The Way Way Back [id] => 5686273 [world_art_id] => [pornolab_id] => [token] => 444444444448fc3a30bf98e [type] => movie [camrip] => [instream_ads] => [directors_version] => [iframe_url] => http://сайт/video/4fb47c600c8525665555a30bf98e/iframe [translator] => значения [translator_id] => 65 [added_at] => 2017-06-13 15:55:55 [category] => [block] => Array ( [blocked_at] => [block_ru] => [block_ua] => ) ) )
Получения нужного значения
PHP:
$json = curl_init("ссылка");
curl_setopt($json, CURLOPT_RETURNTRANSFER, 1); 
$result = curl_exec($json);
curl_close($json);
$data = json_decode($result, true);
for ($i = 0; $i < 10; $i++) {
    echo $data[$i][type].'</br>';
   
}

Результат

Код:
movie

Как получить
Код:
camrip
?
 
Он пустой в ответе.
ясно,надо так
PHP:
$json = curl_init("ссылка");
curl_setopt($json, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($json);
curl_close($json);
$data = json_decode($result, true);
for ($i = 0; $i < 10; $i++) {
    echo $data[$i][camrip].'</br>';

}


почитал в документацию, там:
Код:
camrip

Качество видео. Принимает значение true если это CAMRip и false если видео в HD качестве


как эти значения в переменную вставить , например
PHP:
<?
echo $a; //Выводит 'camrip' если false то 'hd'


?>

как эти значения в переменные вставить , например
$a - будет camrip
$b - будет hd
PHP:
<?
echo $a; //Выводит 'camrip'
echo $b; //Выводит 'hd'

?>
<-------------- добавлено через 5300 сек. -------------->
Почему тут переменная $var не работает??
PHP:
$json = curl_init("cсылка");
curl_setopt($json, CURLOPT_RETURNTRANSFER, 1); // что-бы сразу в браузер не выводил
$result = curl_exec($json);
curl_close($json);
$data = json_decode($result, true);
for ($i = 0; $i < 10; $i++) {
    echo $data[$i][iframe_url];
    $var = $data[$i][camrip];
   
}

// Принимает значение true, потому что $var пусто
if (empty($var)) {
   echo "CAM";
}
// Принимает значение true, потому что $var определена
if (isset($var)) {
   echo "HD";
}
<-------------- добавлено через 1904 сек. -------------->
Он пустой в ответе.
<-------------- добавлено через 9348 сек. -------------->
Предположим что пусто это False

Код:
for ($i = 0; $i < 10; $i++) {
    if ($data[$i][camrip]) {
         $quality='camrip';}  else
    {$quality='HD';}
}

Если надо на несколько переменных, по замени в коде переменную в нужном месте.
Спасибо, но подскажи как сделать
Код:
echo $a; //Выводит 'camrip' если false то 'hd'
<-------------- добавлено через 694 сек. -------------->
Так работает
PHP:
$json = curl_init("ссылка");
curl_setopt($json, CURLOPT_RETURNTRANSFER, 1); // что-бы сразу в браузер не выводил
$result = curl_exec($json);
curl_close($json);
$data = json_decode($result, true);

   
    for ($i = 0; $i < 10; $i++) {
    if ($data[$i][camrip]) {
      $var =   $quality='camrip';}
   
}
if (empty($var)) {
   echo "CAMRip";
}
// Принимает значение true, потому что $var определена
if (isset($var)) {
   echo "HD";
}
Это правильно?
<-------------- добавлено через 4499 сек. -------------->
Почему тут переменная $var не работает??
PHP:
$json = curl_init("cсылка");
curl_setopt($json, CURLOPT_RETURNTRANSFER, 1); // что-бы сразу в браузер не выводил
$result = curl_exec($json);
curl_close($json);
$data = json_decode($result, true);
for ($i = 0; $i < 10; $i++) {
    echo $data[$i][iframe_url];
    $var = $data[$i][camrip];
  
}

// Принимает значение true, потому что $var пусто
if (empty($var)) {
   echo "CAM";
}
// Принимает значение true, потому что $var определена
if (isset($var)) {
   echo "HD";
}
Ответе пожалуйста
 
В общем виде примерно так:
PHP:
$json = curl_init("ссылка");
curl_setopt($json, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($json);
curl_close($json);
$data = json_decode($result, true);
for ($i = 0; $i < 10; $i++) {
    $iscamrip = $data[$i][camrip]; # получаем true или false
   print ($iscamrip ? 'CAM' : 'HD'); # выводит первое, если true, или второе, если false
}

А if (empty($var)) и if (isset($var)) по идее не должны корректно работать, потому что идет цикл for и на выходе $var получит только значение из последней операции в цикле. Поэтому выводить на print (echo) нужно внутри цикла.
 
Он пустой в ответе.
<-------------- добавлено через 9348 сек. -------------->
Предположим что пусто это False

Код:
for ($i = 0; $i < 10; $i++) {
    if ($data[$i][camrip]) {
         $quality='camrip';}  else
    {$quality='HD';}
}

Если надо на несколько переменных, по замени в коде переменную в нужном месте.
<-------------- добавлено через 118 сек. -------------->
Чето в теме борода какая то, в старый пост ответ добавляется.
 
В общем виде примерно так:
Он пустой в ответе.

А как заставить работать $var в примере

PHP:
$json = curl_init("cсылка");
curl_setopt($json, CURLOPT_RETURNTRANSFER, 1); // что-бы сразу в браузер не выводил
$result = curl_exec($json);
curl_close($json);
$data = json_decode($result, true);
for ($i = 0; $i < 10; $i++) {
   
    $var = $data[$i][camrip];
 
}


echo $var;
 
А как заставить работать $var в примере

Если не боитесь, что
на выходе $var получит только значение из последней операции в цикле

То

PHP:
echo ($var ? 'CAM' : 'HD');

Но логика всего кода из примера некорректна. Будет корректна, только если в Результат ($result) будет строго только 1 запись.
 
Назад
Сверху