如何在PHP中返回三元运算符的值


How to return value of ternary operator in PHP

我在CodeIgniter中有这个php代码,在控制器端也有这个代码,但我无法获得实际结果"Available",这应该根据这个三元运算符代码。在这段代码中,结果在视图页面中的jquery代码中返回echo。目前它只返回条件的true部分,当条件为false时,它也返回true部分而不是false部分。

    $data['1']['0']['available']= 0 to 10; 
echo "<div class='services'>
                        <div class='media-body'>
                            <h3 class='media-heading'>Check avability</h3>
                            <div class='table-responsive'>
                                <table class='table'>
                                    <tbody>
                                        <tr><th>Sr.no</th><th>Name</th><th>Status</th><th>Status</th><th>Action</th></tr>
                                        <tr><td>1</td>
                                        <td>Delux</td>";
                                            echo ($data['1']['0']['available'] < 10) ? '<td>Available</td>': '<td>Not Available</td>' ;
                                        echo"<td>".$data['1']['0']['available']."</td>
                                        <td><button class='btn btn-success'>Book Now</button></td>"; echo "</tr>
                                    </tbody>
                                </table>
                                </div>
                        </div>
                  </div>";

这在这里运行良好

对于not available

$data['1']['0']['available'] = 14;
echo ($data['1']['0']['available'] < 10) ? '<td>Available</td>': '<td> Not Available</td>' ;

打印为Not Available

演示

对于available

$data['1']['0']['available'] = 4;
echo ($data['1']['0']['available'] < 10) ? '<td>Available</td>': '<td> Not Available</td>' ;

打印为Available

演示

试试这个:

 <?php
$data['1']['0']['available']=$any_numeric_value ; 
echo "<div class='services'>
                        <div class='media-body'>
                            <h3 class='media-heading'>Check avability</h3>
                            <div class='table-responsive'>
                                <table class='table'>
                                    <tbody>
                                        <tr><th>Sr.no</th><th>Name</th><th>Status</th><th>Status</th><th>Action</th></tr>
                                        <tr><td>1</td>
                                        <td>Delux</td>".(($data['1']['0']['available'] < 10) ? '<td>Available</td>': '<td>Not Available</td>' ).
                                        "<td>".$data['1']['0']['available']."</td>
                                        <td><button class='btn btn-success'>Book Now</button></td></tr>
                                    </tbody>
                                </table>
                                </div>
                        </div>
                  </div>";
                  ?>

我认为数组返回字符串值。首先检查数组是否返回字符串或整数。如果返回字符串,则将其转换为整数,然后重试。我希望这能奏效。