Я пытаюсь вытолкнуть некоторые элементы из циклов, чтобы получить строку символов.
У меня есть массив $liste_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>
Я это сделал :
$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;
но с var_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;
вы закрываете 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;