با سلام
ممکنه این کد رو توضیح بدید؟
if($banner){
$body= $body.<<<HT
<div class="banner">
<img src="{$banner['img']}" />
</div>
HT;
}
}
<<<HT یعنی چی؟
با سلام
ممکنه این کد رو توضیح بدید؟
if($banner){
$body= $body.<<<HT
<div class="banner">
<img src="{$banner['img']}" />
</div>
HT;
}
}
<<<HT یعنی چی؟
کد ضمیمه شد
سلام اینو بخون
https://stackoverflow.com/questions/...heredoc-in-php
اینم دوست داشتی بخون
http://www.tuts.irdevs.com/php-echo.html
این ساختار string های چند خطیه بدین صورت که با
<<<TEST
شروع میشه و با
TEST;
تموم و جای TEST هر کلمه دلخواهی میتونه باشه ولی دوکلمه باید یکسان باشن.(شک دارم که حتما باید باحروف بزرگ باشن یا نه)
خیلی ممنونم
ممکنه در مورد این کدی که ضمیمه کردم هم توضیح بدید که return چیکار میکنه
ببخشید ممکنه بیشتر توضیح بدید؟
خروجی چی میده؟
چرا 'img' و 'text' همش تکرار شده؟ نباید اسمهای متفاوت در نظر بگیریم؟
اگر بخواهیم از ارایه تو در تو حتما باید return بنوسیم؟
نمیشه array بنویسیم؟
میشه یکی به من جواب بده؟؟
آرایه تو در تو یه متغیره و با آرایه عادی هیچ فرقی نداره جز اینکه اعضاش هرکدوم یه آرایه ان. اون img هم تکرار نشده هر img مال آرایه درونیه و تداخلی با هم ندارن. دقت کنین img هیچ ربطی به آرایه اصلی نداره. بلکه آرایه اصلی دو تا عضو آرایه داره که هرکدوم آرایه ها یه عضو با اسم img و محتوای آدرس عکس دارن.
همونطور که گفتم آرایه تودرتو از منظر سیستم یه آرایه ساده تلقی میشه پس ضرورتی برای return کردن اون نداره و میتونیم به عنوان یه متغیر قرارش بدیم ولی اینجا نیاز بوده تابع این مقدار رو برگشت بده.
توضیحات تکمیلی:
https://www.w3schools.com/php/php_arrays_multi.asp
پس چرا در خروجی هیچی نشون نمیده و صفحه سفید هست...چطور باید خروجی گرفت
ایا در ارایه میشه عکس خروجی گرفت ؟
توی مسیر داده شده عکس دارم ولی واقعا متوجه نمیشم برای چی هیچ خروجی ندارما
چون کدی که گذاشتید کامل نیست و return درون تابع کاربرد داره درحالیکه اینجا تابعی وجود نداره. برای چاپ اون هم میتونین آرایه رو تو یه متغیر بریزین و با var_dump چاپش کنین.
در آرایه هم خود عکس رو نگه داری نمیکنند فقط آدرسش رو نگه داری میکنند(مثل همینجا) و درصورت نیاز ازش برای استفاده از عکس استفاده میکنن.مثلا اینجوری
<?php
$imgArray = [
[
'img'=>"pic/banner/banner1.jpg",
],
[
'img'=>"pic/banner/banner2.jpg",
],
];
for($i = 0; $i < count($imgArray); $i++){
echo '<img src="' . $imgArray[$i]['img'] . '" >' ;
}
البته عکس ها باید تو مسیر موجود باشن تا تگ img رو echo کنین و آدرس ها رو به عنوان src بهشون بدیم.
اول باید به آرایه های معمولی مسلط باشین تا موقع کار با آرایه های چندبعدی(تو در تو) گیج نشین.
آخرین ویرایش به وسیله marasiali : جمعه 02 شهریور 1397 در 13:05 عصر
من کدی که نوشتید رو اجرا میکنم ارور میده...عکس هم در مسیر مربوطه وجود داره...
در خط اخر که echo کردید چرا img رو در کروشه قرار دادید... مگه نباید اندیس در [][] فرار بگیره....
i عدد هست ولی img نمیدونم چرا اینجا قرار داده شده
چه اروری میده؟ اینجوری که نمیشه گفت.
دررابطه با اندیس img هم بگم ما با اندیس اول که i هست به عضو i ام آرایه مون دسترسی داریم ولی این عضو هم یک آرایه است پس باید به مقدار عضو با کلید img که آدرس رو نگهداری میکنه دسترسی داشته باشیم.اگر مدل آرایه داخلی براتون آشنا نیست باید مبحث آرایه های انجمنی یا همون Associative Arrays رو مطالعه کنید.
https://www.w3schools.com/php/php_arrays.asp
ارور اینه:Notice: Use of undefined constant i - assumed 'i' in C:\xampp\htdocs\code\index2.php on line 13
Notice: Undefined index: i in C:\xampp\htdocs\code\index2.php on line 13
Notice: Use of undefined constant i - assumed 'i' in C:\xampp\htdocs\code\index2.php on line 13
Notice: Undefined index: i in C:\xampp\htdocs\code\index2.php on line 13
بله اشتباه از من بود شرمنده اندیس i که میخوام بدم فراموش کردم قبلش $ بذارم.اصلاحش کردم.