2016-05-19 23 views
0

私はそれ自身がデータベースに接続されているRESTful Webサービスに接続されているPHPアプリケーションを開発中です。私のRESTfulには、Enumの値をデータベースの整数として保存するEnumがあります。しかし、私はPHP層でGET APIを作成する必要があるときは、とにかく私は何とか変換することができる、私はそれが適切な単語であるかどうかわからない、文字列にint値は、 " 例えば。列挙型の値列PHP

これは私がウェブサービスで持っている列挙です。

public enum BookingType { Single, Group, Tournament } 

これはPHPの部分です。

<?php 
$uri2 = "http://examdatabasebooking.cloudapp.net/BookingService.svc/getbookings/"; 
if (isset($_POST["DateAndTimeFrom"])) { 
     $FDateAndTimeFrom = $_POST["DateAndTimeFrom"]; 

$jsondata = file_get_contents($uri2 . $FirstName); 
$booking = json_decode($jsondata, TRUE); 

注:foreachのでは私はちょうど値としてBookingTypeを抽出して、列挙型の値を保持する配列として値を設定するようなものを試してみましたので、毎回私が予約をGET、列挙型の値、それに応じて、シングル、グループまたはトーナメントを書き出します..しかし、それは動作しません。..

foreach ($booking as $value) { 
    $jsondata = $value["BookingType"]; 
    $value = array("Single" => 0, "Group" => 1, "Tournament" => 2); 
} 
if(empty($booking)) { 
echo "No bookings!"; 
else {  
echo $booking["DateAndTimeFrom"] . " " . $booking["DateAndTimeTo"] . " " .  $booking["BookingType"];  
} 

} 
?> 

そして、これはそれが出力し何です: DateAndTimeFrom:2016年10月5日午後1時00分DateAndTimeTo:2016年10月5日午後2:00 予約タイプ:2 < =これはトーナメントを2の代わりに印刷する必要があります

答えて

1

値の配列を宣言できます。

$bookingTypes = array(
    9 => 'Single', 
    20 => 'Group', 
    54 => 'Tournament' 
); 
+0

うわー:あなたの代わりに0, 1 and 2のカスタム値を持っている場合

echo $bookingTypes[$booking['bookingType']]; // Tournament 

をそして:

$bookingTypes = array( 'Single', 'Group', 'Tournament' ); 

そして、あなたの$booking['bookingType']で、文字列を取得するには!それは魅力のように働いた!どうもありがとうございます! – andas1951