كيفية الحصول على سلسلة خارج للحلقة PHP

-1

كيف يمكن الحصول على 1 $lorem_text كسلسلة جديدة $lorem_outside_text دون تغيير $lorem_text ؟

for ($i = 0; $i <= 5; $i++) {
  $lorem_text = "lorem\n";
}

$lorem_outside_text = $lorem_text;

echo $lorem_outside_text;

الآن النتيجة هي: أبجد

يجب أن تكون النتيجة: أبجد هوز أبجد هوز أبجد

5 الردود

3
افضل جواب

باستخدام هذا الجزء من التعليمات البرمجية ، تقوم بالكتابة فوق القيمة الحالية الخاصة بك في كل مرة.

for ($i = 0; $i <= 5; $i++) {
  $lorem_text = "lorem\n"; // this just overwrites $lorem_text value 6 times with same value
}

بدلاً من ذلك حاول تسلسلها باستخدام . وأيضًا إزالة الاستخدام الإضافي للمتغيرات هنا $lorem_outside_text

$lorem_outside_text = ''; //intialize it as empty string
for ($i = 0; $i <= 5; $i++) {
  $lorem_outside_text .= "lorem\n";
}
echo $lorem_outside_text;

أنيق جدا:

<?php
echo str_repeat("lorem\n", 6);
?>

DEMO: https://3v4l.org/CIsCB

:مؤلف
3
افضل جواب

يمكنك استخدام عامل التخصيص المسلسل ، يرجى تجربة الكود التالي:

$lorem_text .= "lorem\n";
$lorem_outside_text = '';

for ($i = 0; $i <= 5; $i++) {
  $lorem_outside_text .= $lorem_text;
}

echo $lorem_outside_text;
:مؤلف
2
افضل جواب

فقط استخدم str_repeat ، وهذا سيكرر السلسلة مهما كانت المرات التي تريدها.

str_repeat($lorem_text, 5);
:مؤلف
2
افضل جواب

يجب عليك إلحاق النص بـ $lorem_text ، لا تستبدلها. نوع .= بدلا من = .

أنا شخصياً أقوم عادةً بإضافة أجزاء نصية إلى مصفوفة داخل حلقة ، ثم قم بتسلسلها باستخدام implode("\n", $lorem_parts) .

:مؤلف
1
افضل جواب

خيار آخر هو إنشاء صفيف في الحلقة التي تنفجر لاحقًا.

for ($i = 0; $i <= 5; $i++) {
  $lorem_text[] = "lorem";
}



echo implode("\n", $lorem_text);

يأخذ Implode صفيفًا ويستخدم الغراء لجعله خيطًا.

:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام