1

配列に値を追加しようとすると、配列が出力されるだけです。

function getAllRoles($format='ids')
{   
$format = strtolower($format);
$query = $this->db->prepare("SELECT * FROM roles");
    $query->execute();
    $resp = array();
foreach ($query as $row){
    if ($format == 'full'){
        $resp[] = array("ID"=>$row['ID'],"Name"=>$row['roleName']);
    }else{
        $resp[] = $row['ID'];
    }
}
return $resp;
}  

入力した配列を取得するには、

echo "<br>getAllRoles: ".$Secure->getAllRoles("full");
4

6 に答える 6

2

文字列連結演算子を使用しているため、すべてのパラメーターが文字列に変換されます。文字列に変換された配列は として表示されArrayます。

出力はどうなると思いますか?

各要素を出力するには、配列をループする必要があります。あなたの場合、とにかく「固定」配列があります(データ構造は変更されず、そこにある要素の数を常に知っています):

$data = $Secure->getAllRoles("full");
echo $data['ID'];
echo $data['Name'];
于 2013-09-29T09:02:58.797 に答える
1

echoアレイに対して実行することはできません。echoは、パラメータが であると想定していますstring。あなたができることは、配列をループして、すべてのインデックスを次のように印刷/エコーすることです。

foreach($arrayname as $something)
{
echo $something;
}

各インデックスを出力します。配列をエコーし​​ようとするArrayと、出力として得られます。詳細については、こちらをお読みください。

于 2013-09-29T09:02:05.350 に答える
0

配列を出力しています:-

この配列を返す関数:-

$resp=array("ID"=>$row['ID'],"Name"=>$row['roleName']);

配列内のすべての要素をエコーし​​たい場合は、そのキーに言及する必要があります。

これを達成できます:-

 $allRoles = $Secure->getAllRoles("full");

 echo "<br>getAllRoles: ".$allRoles['name'];
于 2013-09-29T09:02:14.650 に答える
0

変化する

if ($format == 'full'){
  $resp=array("ID"=>$row['ID'],"Name"=>$row['roleName']);
}else{
  $resp = $row['ID'];
}

if ($format == 'full'){
  $resp[]=array("ID"=>$row['ID'],"Name"=>$row['roleName']);
}else{
  $resp[] = $row['ID'];
}
于 2013-09-29T09:04:46.037 に答える
0

orまたはechoを使用する必要がある配列を印刷しないprint_r($array)var_dump($array)foreach

使用しないでください

echo $Secure->getAllRoles("full");

使用する:

print_r($Secure->getAllRoles("full"));

or

var_dump($Secure->getAllRoles("full"));

or

$resp = $Secure->getAllRoles("full");
foreach($resp as $key=>$value) {
    echo "$key = $value";
}
于 2013-09-29T09:05:04.227 に答える
0

echo を使用して配列を出力できます。var_dumpaまたは aを使用しprint_rて配列の詳細を取得できます。

var_dump($array);
print_r($array);

または、まだエコーが必要な場合は、 ajson_encodeを使用して json 文字列に変換します

echo json_encode($array);
于 2013-09-29T09:05:49.170 に答える