0

私はphpに不慣れで、まだ概念を理解しようとしています。
私の質問は、ループを開始したときにのみ利用可能な情報に基づいて、ループするかどうかをどのように変更するのですか?

これは私が思いついたコードであり、私の考えを説明するためのコメントが付いています。
私は基本的に、1つまたは複数のページがある場合、すべてのページの「ビジネスを完了」させようとしています。

注:$ objectには、ページにまたがる可能性のある結果セットが含まれています。ページにまたがる場合は$object->paginationが存在し、そうでない場合は存在しません。$ object-> pagination-> pages =総ページ数、および$ object-> pagination->pages=現在のページ。

//get first page. some how this needs to be a loop i'm guessing.
$page = 1;
$url = "api/products/page/" . $page;
$ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HTTPHEADER,array ("Content-Type: Content-Type: application/json; charset=utf-8"));
        curl_setopt($ch, CURLOPT_HTTPHEADER,array ("Accept: application/json"));
        curl_setopt($ch, CURLOPT_USERPWD, "username-password");
        $contents = curl_exec ($ch);
        curl_close ($ch);
        $object = json_decode($contents);
//$data returned with product info and pagination info if there is more than one page.


//now check in that first page to see if there is other pages set
if(isset($object->pagination)){
        while($object->pagination->page < $object->pagination->pages) {
        $page = $page+1 ;
        //do some business
    } else {//stop going through the pages}
}
4

4 に答える 4

1
<?php

$ object-> pagination-> page = 1;
$ url = "api / products /page/"。$ object-> pagination-> page;

//$urlはcURLに使用されます。複数のページがある場合、$objectは製品情報とページ付け情報とともに返されます。
$ object//cURLから返されたJSONデコードされたオブジェクト。

//最初のページをチェックインして、他のページが設定されているかどうかを確認します
if(isset($ object-> pagination)){
    while($ object-> pagination-> page pagination-> pages)
    {{

        //ビジネスを行う

        $ object-> pagination-> page ++;
    }
}
?>
于 2012-06-02T12:11:11.513 に答える
0

オブジェクト内のすべてのページをループすることを意味していると思います。

if (isset($object->pagination)) { 
    while ($object->pagination->page < $object->pagination->pages) { 
        $object->pagination->page++; // $x++ is the same as $x = $x+1
        //do some business 
    } 
} 
于 2012-06-02T12:07:25.310 に答える
0

これを試して:

if(is_array($values){
      foreach($values as $value){
         //do some  with you value
      }
}else{
  // do something with $values
}
于 2012-06-02T14:38:06.383 に答える
-1

次に例を示します。

$x = 1;

// Loop 1 through 5
while( $x <= 5 )
{
   // Output x
   echo("$x\n");

   // Check if x is a certain value and do something different
   if($x==3)
   {
      echo("Almost there...\n");
   }

   // Increment x
   $x++;
}

// This outputs...
// 1
// 2
// 3
// Almost there...
// 4
// 5
于 2012-06-02T12:00:30.013 に答える