نمایش نتایج 1 تا 8 از 8

نام تاپیک: چگونه مقادیر یک آرایه را غیر قابل تغییر کنیم؟؟؟

  1. #1

    چگونه مقادیر یک آرایه را غیر قابل تغییر کنیم؟؟؟

    سلام
    اینجا اومدم $db را ساختم
    که نشان میده برای هر خانه سطر بعد و ستون بعدیش چه مقداری داره
    الان مشکل اینجاست که $dataتحت تاثیر $db قرار گرفته یعنی
    بعد از تعریف $db از $data که استفاده میکنم همون $db را برام چاپ میکنه
    ولی من میخوام از $data بعد از تعریف $db با همون مقدار اولش استفاده کنم
    خواهشاااا کمکمممممممم کنید

    <?php
    for($j=1;$j<9;$j++)
    {

    ?>
    <tr>
    <?php
    for($i=1;$i<9;$i++)
    {
    ?>
    <td>
    <?php
    $data=$a['sotoon'.$i]["kh".$j];

    //echo $data;


    switch($data)
    {
    case 0:
    //echo $data;
    //echo '<img src="assets/image/aaaa.png" class="khali">';
    break;


    case 1:
    //echo $data;
    echo '<span class="fi icon-circle m_blue"></span>';
    break;


    case 2:
    //echo $data;
    echo '<span class="fi icon-circle m_red"></span>';
    break;


    case 3:
    //echo $data;
    echo '<span class="fi icon-circle m_ki_blue"></span>';
    break;


    case 4:
    //echo $data;
    echo '<span class="fi icon-circle m_ki_red"></span>';
    break;


    case 5:
    //echo $data;
    echo '<span class="por"></span>';
    break;

    default:
    echo "";
    }


    if(($i+1)>=9)
    {
    continue;
    }
    elseif(($j+1)>=9)
    {
    continue;
    }



    $db=$a['sotoon'.($i+1)]["kh".($j+1)];

    ?>

    </td>

    <?php
    }
    ?>
    </tr>

    <?php
    }


    ?>




    </table>



  2. #2

    نقل قول: چگونه مقادیر یک آرایه را غیر قابل تغییر کنیم؟؟؟

    حقیقتا من یه راه حل براش پیدا کردم ولی نمیدونم چجوری بنویسمش
    اول اینکه دقیقا مثل همین کار را باید برای سطر بعد و ستون قبل هم انجام بدم
    من گفتم
    اول بیایم یه شرطی را بزاریم مثلا 1=$p و تا زمانی که این شرط برقرار باشد بیاد تو آرایه a دنبال خانه های سطر بعد و ستون بعدش باشه و جواب ها را بریزه داخل یه آرایه دیگه یا یک متغیر دیگه
    بعد بگیم حالا دیگه شرط 0=$p برقرار نباشد
    برای سطر بعد و ستون بعدم همینکارو کنیم
    میشه آیا؟؟؟؟؟؟؟؟؟؟
    یعنی امکانش هست که اگر $data را خارج از شرط p چاپ کنیم همان $data اولیه باشه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
    حقیقتا من با دستورwhile اصلا رابطه خوبی ندارم هرچه کردم نشد که نشد

  3. #3

    نقل قول: چگونه مقادیر یک آرایه را غیر قابل تغییر کنیم؟؟؟


    <?php
    $a=array(


    "sotoon1"=>array(
    "kh1"=>5,
    "kh2"=>2,
    "kh3"=>5,
    "kh4"=>0,
    "kh5"=>5,
    "kh6"=>1,
    "kh7"=>5,
    "kh8"=>1,
    ),

    "sotoon2"=>array(
    "kh1"=>2,
    "kh2"=>5,
    "kh3"=>2,
    "kh4"=>5,
    "kh5"=>0,
    "kh6"=>5,
    "kh7"=>1,
    "kh8"=>5,
    ),

    "sotoon3"=>array(
    "kh1"=>5,
    "kh2"=>2,
    "kh3"=>5,
    "kh4"=>0,
    "kh5"=>5,
    "kh6"=>1,
    "kh7"=>5,
    "kh8"=>1,
    ),

    "sotoon4"=>array(
    "kh1"=>2,
    "kh2"=>5,
    "kh3"=>2,
    "kh4"=>5,
    "kh5"=>0,
    "kh6"=>5,
    "kh7"=>1,
    "kh8"=>5,
    ),

    "sotoon5"=>array(
    "kh1"=>5,
    "kh2"=>2,
    "kh3"=>5,
    "kh4"=>0,
    "kh5"=>5,
    "kh6"=>1,
    "kh7"=>5,
    "kh8"=>1,
    ),

    "sotoon6"=>array(
    "kh1"=>2,
    "kh2"=>5,
    "kh3"=>2,
    "kh4"=>5,
    "kh5"=>0,
    "kh6"=>5,
    "kh7"=>1,
    "kh8"=>5,
    ),

    "sotoon7"=>array(
    "kh1"=>5,
    "kh2"=>2,
    "kh3"=>5,
    "kh4"=>0,
    "kh5"=>5,
    "kh6"=>1,
    "kh7"=>5,
    "kh8"=>1,
    ),

    "sotoon8"=>array(
    "kh1"=>2,
    "kh2"=>5,
    "kh3"=>2,
    "kh4"=>5,
    "kh5"=>0,
    "kh6"=>5,
    "kh7"=>1,
    "kh8"=>5,
    ),

    );


    ?>


    برای بازی چکرز هست
    $data میاد میگه هر خونه از آرایه که در ظاهر مثل یک جدول یه عدد داره
    و هر عدد نشان میده که تو اون خانه چه حالتی
    مثلا اگر صفر میشه خانه خالی
    اگر یک مهره آبی
    و
    ...
    حالا من اومدم میگم $db متغیری باشه که نشان بده هر کدوم از خانه ها, خانه سطر بعد و ستون بعدش محتواش چیه مثلا صفر و یگ و ...

    اینکارو با تعریف $db بعد از switch انجام دادم
    منتهی چون برای تعریف $db اومدم از خود $a که میشه آرایه اصلیمون استفاده کردم
    باعث شده مقدارها در آرایه اصلی تغییر کنه
    یا نمیدونم چی شده
    که وقتی بعد از تعریف $db هر چی $data که نشان دهده همان آرایه اصلی هست را صدا میزنم برام db چاپ میکنه
    یه جوراای انگار با تعرف db دیگه آرایه اصلیم مقادیرش به db تغییر کرده
    دنبال راه حلی هستم که بشه این مقادیر جدید db را درون یک آرایه دیگه بریزم
    طوری که آرایه اصلی تغییر نکند

  4. #4

    نقل قول: چگونه مقادیر یک آرایه را غیر قابل تغییر کنیم؟؟؟

    سلام

    خب مطابق دیتای ارائه شده مثلا a11 برابر 5 است همینطور a22 برابر 5 است. مقادیر منحصر به فرد داخل آرایه تعریف کنید بعد تست کنید تا متوجه اشتباهات احتمالی شوید.

  5. #5

    نقل قول: چگونه مقادیر یک آرایه را غیر قابل تغییر کنیم؟؟؟

    نقل قول نوشته شده توسط ali_sed مشاهده تاپیک
    سلام

    خب مطابق دیتای ارائه شده مثلا a11 برابر 5 است همینطور a22 برابر 5 است. مقادیر منحصر به فرد داخل آرایه تعریف کنید بعد تست کنید تا متوجه اشتباهات احتمالی شوید.
    خیلی ممنونم که جواب دادین
    ولی من خیلی خوب متوجه نشدم شما چی گفتین؟؟؟؟؟؟
    الان تمام مقادیر آرایه a را من لازم دارم
    میخوام بیام یه آرایه دیگه هم بسازم که برای هر خونه مقدار موجود در ستون بعد و خونه بعد را نشان بده
    که طبق جواب قبلی شما با این روش بدست اومد



    if(($i+1)>=9)
    {
    continue;
    }
    elseif(($j+1)>=9)
    {
    continue;
    }


    $db=$a['sotoon'.($i+1)]["kh".($j+1)];


    اما الان اتفاقی که میفته اینه
    که db روی متغیر data که تو خط 13 نوشتم تاثیر میذاره
    و باعث میشه وقتی بعد از تعریف db میام متغیر data را چاپ میکنم به جای dataبرام db را چاپ میکنه
    میخوام این دوتا روی هم تاثیر نگذارند

  6. #6

    نقل قول: چگونه مقادیر یک آرایه را غیر قابل تغییر کنیم؟؟؟

    شما $a را ابتدای حلقه تعریف کرده اید و $db را انتهای حلقه.
    به ترتیب مقادیر زیر را داریم

    $j = 1;
    $i = 1;
    $data = $a[sotoon1][kh1];//5
    $db = [$a[sotoon2][kh2]; //5

    حالا حلقه داخلی مقدار i را یک واحد اضافه می کند
    $i = 2;
    data = $a['sotoon2']['kh1'];//2
    $db = $a['sotoon3']['kh2'];//2

    حالا حلقه داخلی مقدار i را یک واحد دیگر اضافه می کند
    $i = 3;
    ...


    می توانید تا چند شماره دیگه هم ادامه دهید. خب دیگه شما خودتان باید متوجه ایراد کارتان شده باشید. دقت کنید که db و data آرایه نیستند تنها یک متغییر موقت برای نگهداری اطلاعات یک عنصر از آرایه a می باشند. (با توجه به اینکه جایی گفتید که میخوام data یک آرایه باشد)

    اگر موفق به رفع مشکل نشدید بگید برنامه قراره چیکار کنه تا بهتر راهنمایی شوید.

  7. #7

    نقل قول: چگونه مقادیر یک آرایه را غیر قابل تغییر کنیم؟؟؟

    نقل قول نوشته شده توسط ali_sed مشاهده تاپیک
    شما $a را ابتدای حلقه تعریف کرده اید و $db را انتهای حلقه.
    به ترتیب مقادیر زیر را داریم

    $j = 1;
    $i = 1;
    $data = $a[sotoon1][kh1];//5
    $db = [$a[sotoon2][kh2]; //5

    حالا حلقه داخلی مقدار i را یک واحد اضافه می کند
    $i = 2;
    data = $a['sotoon2']['kh1'];//2
    $db = $a['sotoon3']['kh2'];//2

    حالا حلقه داخلی مقدار i را یک واحد دیگر اضافه می کند
    $i = 3;
    ...


    می توانید تا چند شماره دیگه هم ادامه دهید. خب دیگه شما خودتان باید متوجه ایراد کارتان شده باشید. دقت کنید که db و data آرایه نیستند تنها یک متغییر موقت برای نگهداری اطلاعات یک عنصر از آرایه a می باشند. (با توجه به اینکه جایی گفتید که میخوام data یک آرایه باشد)

    اگر موفق به رفع مشکل نشدید بگید برنامه قراره چیکار کنه تا بهتر راهنمایی شوید.
    بی نهایت ممنونم که جواب دادین
    من این مدلی حلش کردم
    حقیقتا خودمم نفهمیدم چیکار کردم
    فقط همونجور که گفتم یه جورایی با while اومدم محدوده data را با db و dg تغییر دادم
    این برای بازی چکرز
    میخواستم بگم اگر خونه ای مقدار dataاش برابر 2 بود(حاوی مهره قرمز) و db که همون خونه سطر بعد و ستون بعد مقدارش 0 بود(خانه خالی هست)
    بشه drag
    اگر خونه ای خودش 0بود (یعنی خالی بود) و خونه سطر قبل و ستون قبلشdg= 2 بود (یعنیمهره قرمز بود) بشه drop
    ولی اینارو که تعریف میکردم مقداراشون قاتی میشد
    data مشد db
    db میشد dg
    اعصابم خرد میشد
    ولی الان فعلا که درست شده
    بازم ممنونمممم که جواب دادین
    تشگر


    <?php
    for($j=1;$j<9;$j++)
    {

    ?>
    <tr>
    <?php
    for($i=1;$i<9;$i++)
    {
    ?>
    <td>
    <?php
    $data=$a['sotoon'.$i]["kh".$j];

    //echo $data;




    switch($data)
    {
    case 0:
    //echo $data;
    //echo '<img src="assets/image/aaaa.png" class="khali">';
    break;


    case 1:
    //echo $data;
    echo '<span class="fi icon-circle m_blue"></span>';
    break;


    case 2:
    //echo $data;
    echo '<span class="fi icon-circle m_red"></span>';
    break;


    case 3:
    //echo $data;
    echo '<span class="fi icon-circle m_ki_blue"></span>';
    break;


    case 4:
    //echo $data;
    echo '<span class="fi icon-circle m_ki_red"></span>';
    break;


    case 5:
    //echo $data;
    echo '<span class="por"></span>';
    break;

    default:
    echo "";
    }

    $k=1;
    while($k>0)
    {
    $k--;
    if(($i+1)>=9)
    {
    $db=6;
    continue;
    }

    elseif(($j+1)>=9)
    {
    $db=6;
    continue;
    }

    $db=$a['sotoon'.($i+1)]["kh".($j+1)];
    //echo $db;
    }


    $kk=1;
    while($kk>0)
    {
    $kk--;
    if(($i-1)<=0)
    {
    $dg=6;
    continue;
    }


    elseif(($j-1)<=0)
    {
    $dg=6;
    continue;
    }


    $dg=$a['sotoon'.($i-1)]["kh".($j-1)];
    //echo $dg;
    }



    //echo $db;
    //echo $dg;

    //echo $data;
    //for red
    if($db===0 & $data===2)
    {
    echo '<span class="dragred"></span>';
    echo "drag";
    }
    if($dg===2 & $data===0)
    {
    echo '<span class="dropred"><img src="assets/image/aaaa.png" class="khali"></span>';
    echo "drop";
    }

    ?>

    </td>

    <?php
    }
    ?>
    </tr>

    <?php
    }


    ?>

  8. #8

    نقل قول: چگونه مقادیر یک آرایه را غیر قابل تغییر کنیم؟؟؟

    خواهش می کنم.

تاپیک های مشابه

  1. سوال: آسان ترین روش پرداخت غیر حضوری چیه؟ SMS؟ کد موبایل؟ ؟؟؟
    نوشته شده توسط rostamiani در بخش تالار های مرتبط با شبکه و امنیت
    پاسخ: 1
    آخرین پست: چهارشنبه 26 آذر 1393, 12:02 عصر
  2. سوال: نحوه اجرای پروژه های غیر vcl (multi device app) در دلفی xe7 ؟؟؟
    نوشته شده توسط nilidelphi در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: پنج شنبه 06 آذر 1393, 11:14 صبح
  3. پاسخ: 10
    آخرین پست: سه شنبه 25 بهمن 1390, 14:15 عصر
  4. چرا بعضی وب سایت ها بغیر از IE رو هیچی درست کار نمیکنن ؟؟؟
    نوشته شده توسط mahdi68 در بخش توسعه وب (Web Development)
    پاسخ: 8
    آخرین پست: سه شنبه 22 تیر 1389, 22:02 عصر
  5. تغییر تغییر مشخصه دستیابی(access specifier) کد ایجاد شده توسط نتبینز ؟؟؟
    نوشته شده توسط mahdi68 در بخش برنامه‌نویسی جاوا
    پاسخ: 1
    آخرین پست: چهارشنبه 04 فروردین 1389, 02:38 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •