0
{"99.net":{"status":"regthroughothers","classkey":"dotnet"},
"99.org":  {"status":"regthroughothers","classkey":"domorg"},
"99.mobi":{"status":"regthroughothers","classkey":"dotmobi"},
"99.name":{"status":"Invalid Domain Name","classkey":"dotname"},
"99.us":{"status":"regthroughothers","classkey":"domus"},
"99.com":{"status":"regthroughothers","classkey":"domcno"},
"99.info":{"status":"Invalid Domain Name","classkey":"dominfo"},
"99.co.uk":{"status":"available","classkey":"thirdleveldotuk"},
"99.biz":{"status":"Invalid Domain Name","classkey":"dombiz"},
"99.in":{"status":"Invalid Domain Name","classkey":"dotin"}}

次のコードで出力を表示できます。

$json1 = json_decode($response1);

 foreach($json1 as $key=>$sel_rows)     
  {
      echo $key ;
      echo " status: ". $sel_rows->status." ";
      echo " Class: ". $sel_rows->classkey." ";
      echo "Price";
      echo "<br>";                                             
  }<br>

次に、次のようなテーブルを表示できるように並べ替える必要があります。

<table border="1">
<tr>
<td>.com</td>
<td>.net</td>
<td>.info</td>
<td>.org</td>
</tr>
<tr>
<td><a href="">ADD</a></td>
<td><a href="">ADD</a></td>
<td><a href="">ADD</a></td>
<td><a href="">ADD</a></td>
</tr>
</table>

応答データを使用してADDリンク(dinakar.comなど)にツールのヒントを追加して、このテーブルを生成するために使用できる方法で応答を並べ替える方法を理解するのに問題があります。

4

2 に答える 2

2
$json1 = json_decode($response1, TRUE);

 foreach($json1 as $key=>$sel_rows)     
  {
      echo $key ;
      echo " status: ". $sel_rows['status']."&nbsp;";
      echo " Class: ". $sel_rows['classkey']."&nbsp;";
      echo "Price";
      echo "<br>";                                             
  }
于 2012-11-02T07:24:38.807 に答える
0

応答のデコードに問題はないようですが、表示する必要があるものに正規化しています。そのためには、事前にわかっていない限り、ドメイン文字列から TLD を抽出する必要があります。そもそも応答を要求するために使用されていたので、おそらくそうでしょうか?

とにかく、次のコードは、ビューに渡すのに適した配列にそれを取得する1つの方法を示しています(または、どのように行っているか):

$response1 = <<< EOF
{"99.net":{"status":"regthroughothers","classkey":"dotnet"},
"99.org":  {"status":"regthroughothers","classkey":"domorg"},
"99.mobi":{"status":"regthroughothers","classkey":"dotmobi"},
"99.name":{"status":"Invalid Domain Name","classkey":"dotname"},
"99.us":{"status":"regthroughothers","classkey":"domus"},
"99.com":{"status":"regthroughothers","classkey":"domcno"},
"99.info":{"status":"Invalid Domain Name","classkey":"dominfo"},
"99.co.uk":{"status":"available","classkey":"thirdleveldotuk"},
"99.biz":{"status":"Invalid Domain Name","classkey":"dombiz"},
"99.in":{"status":"Invalid Domain Name","classkey":"dotin"}}
EOF;


function get_tld($url) {
    $host = parse_url($url);
    $domain = $host['path'];
    $tail = substr($domain, -7); // Watch out, gotcha! Be sure of this.
    $tld = strstr($tail, ".");
    return $tld;
}

$domains = array();
$json1 = json_decode($response1);

foreach ($json1 as $idx => $obj) {
    $tld = get_tld($idx);
    $domains[$tld] = array('tld' => $tld, 'status' => $obj->status, 'classkey' => $obj->classkey);
}

これは私の頭の上から外れています。結果の$domains配列は次のようになります (簡潔にするために切り捨てられています)。

Array
(
    [.net] => Array
        (
            [tld] => .net
            [status] => regthroughothers
            [classkey] => dotnet
        )

    [.org] => Array
        (
            [tld] => .org
            [status] => regthroughothers
            [classkey] => domorg
        )

注意してください、私はここで多くの正気を示しているわけではありませんが、それはあなたがそれに歯を沈めるのを助けるのに十分なはずです. 次に、キーからテーブル ヘッドを作成し、追加リンクに、応答で返された必要な情報を入力します。

于 2012-11-02T08:12:33.887 に答える