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

How to return value of ternary operator in PHP

我在 CodeIgniter 中有这个 php 代码并且在控制器端有这个代码但是我无法得到我的实际结果 'Available' 这应该根据这个三元运算符代码来。在此代码中,结果 returns 在视图页面的 jquery 代码中回显。当前,当条件为假时,它仅返回条件的真部分,它还 returns 真部分而不是假部分。

    $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

DEMO

对于available

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

打印为 Available

DEMO

试试这个:

 <?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>";
                  ?>

我认为数组returns是字符串值。首先检查数组 returns 字符串或整数。如果 returns 字符串然后将其转换为整数然后尝试。我希望这会奏效。