Php 如何将一个数组元素分配给另一个数组?

Php 如何将一个数组元素分配给另一个数组?,php,arrays,codeigniter-3,Php,Arrays,Codeigniter 3,我在数据库中有两个表,一个表是saloon\u staff,第二个表是saloon\u staff\u timings 酒店员工 酒店员工的时间安排 现在,在沙龙工作人员时间表中,我插入沙龙工作人员的时间。我运行了两个查询以从表中获取数据,第一个查询是通过saloon_staff_timings表中的saloon_staff_id获取saloon员工的姓名,第二个查询是获取saloon员工的时间 这是我的密码 <?php foreach ($saloon_staff as $ke

我在数据库中有两个表,一个表是saloon\u staff,第二个表是saloon\u staff\u timings

酒店员工

酒店员工的时间安排

现在,在沙龙工作人员时间表中,我插入沙龙工作人员的时间。我运行了两个查询以从表中获取数据,第一个查询是通过saloon_staff_timings表中的saloon_staff_id获取saloon员工的姓名,第二个查询是获取saloon员工的时间

这是我的密码

<?php 

 foreach ($saloon_staff as $key => $value)
  {
    echo"<tr>";

    echo"<td> $value->staff_name </td>";


      foreach ($staff_timings as $key => $stf_timngs) 
       {
  ?>
     <td><?php echo $stf_timngs->start_time ?></td>
  <?php 
        } 
       echo"</tr>";
     } 
?>
酒店员工计时打印(员工计时)


任何帮助都将不胜感激。

如果您缺少以下语句,请尝试:-

<?php 

foreach ($saloon_staff as $key => $value){
    echo"<tr>";
    echo"<td> $value->staff_name </td>";
    foreach ($staff_timings as $key => $stf_timngs){
       if($stf_timngs->saloon_staff_id == $value->id ){?>
       <td><?php echo $stf_timngs->start_time ?></td>
   <?php }  }
   echo"</tr>";
 } ?>


希望能有帮助!。。如果要处理连接,请参考@sajeevan answer

,只需使用内部连接来连接两个表,并按使用条件显示相应列的数据

SELECT ss.*,sst.* FROM `Saloon_staff` INNER JOIN `Saloon_Staff_timings` AS sst ON sst.`saloon_staff_id`= ss.`saloon_profile_id`

您需要检查
$saloon\u staff
ID
$staff\u timings
ID的ID。之所以打印所有内容,是因为我们没有检查它

代码如下:

foreach ($saloon_staff as $key => $value){
    echo '<tr>';
    echo '<td>' . $value->staff_name . '</td>';
    foreach ($staff_timings as $key2 => $stf_timngs) {
        // Check ID if equal
        if($value->id == $stf_timings->saloon_staff_id){
            echo '<td>' . $stf_timngs->start_time . '</td>';
        }
    } 
    echo"</tr>";
} 
foreach($saloon\u staff as$key=>$value){
回声';
回显“.$value->staff_name.”;
foreach($key2=>$stf_时间){
//检查ID是否相等
如果($value->id==$stf\u计时->沙龙\u员工\u id){
回显“.$stf_时间->开始时间”;
}
} 
回声“;
} 

我还清理代码。这更容易阅读,因为我在echo中包含了html标记,而不是分离html。

请尝试下面的代码片段。它应该会起作用

<?php 

  foreach ($saloon_staff as $key => $value) {

  echo"<tr>";
  echo"<td> $value->staff_name </td>";

  foreach ($staff_timings as $key => $stf_timngs) {

     if($value->id  == $stf_timngs->saloon_staff_id ){
          echo  "<td>".$stf_timngs->start_time."</td>";
      }

    } 

   echo"</tr>";

 } 

您可以只使用一个join语句,无需使用两个查询使用一个join并在数据库端执行。如果您将当前存储所有数据的方法保留在
$saloon\u staff
/
$staff\u timings
中,则需要有一种方法关联数据,即使用
saloon\u staff\u id
作为键在您的
$staff\u计时中
。然后你可以做->
foreach($staff\u timings[$key]=>…
错误,应该是$value->id而不是$value->saloon\u profiles\u id
foreach ($saloon_staff as $key => $value){
    echo '<tr>';
    echo '<td>' . $value->staff_name . '</td>';
    foreach ($staff_timings as $key2 => $stf_timngs) {
        // Check ID if equal
        if($value->id == $stf_timings->saloon_staff_id){
            echo '<td>' . $stf_timngs->start_time . '</td>';
        }
    } 
    echo"</tr>";
} 
<?php 

  foreach ($saloon_staff as $key => $value) {

  echo"<tr>";
  echo"<td> $value->staff_name </td>";

  foreach ($staff_timings as $key => $stf_timngs) {

     if($value->id  == $stf_timngs->saloon_staff_id ){
          echo  "<td>".$stf_timngs->start_time."</td>";
      }

    } 

   echo"</tr>";

 }