Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何通过连接将循环中的项包装到元素中?_Php_Loops_Concatenation - Fatal编程技术网

Php 如何通过连接将循环中的项包装到元素中?

Php 如何通过连接将循环中的项包装到元素中?,php,loops,concatenation,Php,Loops,Concatenation,我试图从循环中推送一些项以获得字符串 我有一个$liste\u mots数组: 0 => array (size=5) 'mot' => array (size=7) 0 => array (size=5) 'mot' => string 'My' 'start' => float 0 'end

我试图从循环中推送一些项以获得字符串

我有一个
$liste\u mots
数组:

  0 => 
    array (size=5)
      'mot' => 
        array (size=7)
          0 => 
            array (size=5)
              'mot' => string 'My'
              'start' => float 0
              'end' => float 1 
          1 => 
            array (size=5)
              'mot' => string 'Name'  
              'start' => float 2
              'end' => float 3         
      'ID' => float 1

1 => 
    array (size=5)
      'mot' => 
        array (size=7)
          0 => 
            array (size=5)
              'mot' => string 'Is'
              'start' => float 4
              'end' => float 5 
          1 => 
            array (size=5)
              'mot' => string 'Zooboo' 
              'start' => float 6
              'end' => float 7        
      'ID' => float 2
我想要的是这样的:

<div id='1'><span data-start='0' data-end='1'>My</span><span data-start='2' data-end='3'>Name</span></div><div id='2'><span data-start='4' data-end='5'>Is</span><span data-start='6' data-end='7'>Zooboo</span></div>
MyNameIsZooboo
我做到了:

$response = "";
      foreach ($liste_mots as $key => $item) {
             $response  = "<div id='" . $item['ID'] . "'>";
                foreach ($liste_mots[$key]['mot'] as $idx => $itm) {
                    $response .= "<span data-start='".$itm['start']."' data-end='".$itm['end']."'>" . $itm['mot'] . "</span></div>";
                }
            }
var_dump($response); die;
$response=”“;
foreach($key=>$item){
$response=“”;
foreach($idx=>itm){
$response.=''.$itm['mot'].'';
}
}
var_dump($response);死亡
但是有了一个
var\u dump
,我只有最后一个
div
,而没有
span


我哪里错了?

每次通过外部循环时,您都在重置
$response
。您需要在那里使用连接,就像在内部循环中一样。您还需要在外部循环中结束
div
,而不是在内部循环中的每个
span
之后

$response = "";
foreach ($liste_mots as $key => $item) {
    $response .= "<div id='" . $item['ID'] . "'>";
    foreach ($liste_mots[$key]['mot'] as $idx => $itm) {
        $response .= "<span data-start='".$itm['start']."' data-end='".$itm['end']."'>" . $itm['mot'] . "</span>";
    }
    $response .= "</div>";
}
var_dump($response); die;
$response=”“;
foreach($key=>$item){
$response.=”;
foreach($idx=>itm){
$response.=''.$itm['mot'].'';
}
$response.=”;
}
var_dump($response);死亡

您在错误的循环中关闭div,应该是这样的

$response = "";
foreach ($liste_mots as $key => $item) {
    $response  .= "<div id='" . $item['ID'] . "'>";
        foreach ($liste_mots[$key]['mot'] as $idx => $itm) {
            $response .= "<span data-start='".$itm['start']."' data-end='".$itm['end']."'>" . $item['mot'] . "</span>";
        }
    $response  .= "</div>";
}
var_dump($response); die;
$response=”“;
foreach($key=>$item){
$response.=”;
foreach($idx=>itm){
$response.=''.$item['mot'].'';
}
$response.=”;
}
var_dump($response);死亡

你能粘贴
var\u export($liste\u mot)
的输出吗?这样我们可以处理吗?我已经尝试过了,但是var\u dump返回我:
字符串“”(长度=0)
只有在
$liste\u mots
为空时才会发生。请确保启用了错误报告功能。您可能在某个地方键入了错误的变量。在本例中,
$liste\u mots
不是空的,但在我的代码中,有时,
$liste\u mots[$key]['mot']
是空的…如果
$list\u mots
不是空的,我看不出该代码有任何方法可以返回空的
$response
。我已经尝试过了,但是var\u dump返回我:
字符串“”(长度=0)