php කාපරයෙක් වෙමු

P_Namal

Active member
  • Oct 19, 2007
    862
    224
    43
    මේ thread එකට ගොඩක් හොද පතිචාර තිබුණා. ගොඩක් ස්තූතියි ඒවට. මේක පටන් අරන් ගොඩක් කල් වෙනවා. ඒත් වෙලාව මදි නිසයි කරගෙන යන්න බැරිවුනේ. ගොඩ දෙනෙක් කියනවා මේක දිගටම කරගෙන යන්න කියලා. ඒ නිසා මං හිතුවා පොඩි පොඩි දේවල් වලින් හරි මොනා හරි කියලා දෙන්න.

    ඊට කලින් එහෙනම් ඔයාලම කියන්න මොනාද ඕනි කියලා.. :yes::yes:

     
    • Like
    Reactions: piuluc
    Sep 23, 2013
    188
    6
    0
    මචං උඹ නියම පොරක් උඹට වැඩි වැඩියෙන් දැනුම ලැඛෙනවා දිගටම කරගෙන පලයන් Html,Php,Joomla වගේ වෙබ් තාක්ෂණය පැත්තෙ සෑම දෙයක් ගැනම මූලික දේවල් දන්න විදියට කියල දීපන් හැමෝටම වැදගත් වෙයි
     

    P_Namal

    Active member
  • Oct 19, 2007
    862
    224
    43
    එහෙනම් ඔන්න ගොඩක් කාලෙකින් අලුත් අවුරුද්දේ දාන අලුත් පෝස්ට් එකක්. :yes:

    ගොඩක් අය ඇනගන්න තැනක් තමයි foreach. ඉතින් මං ඒ ගැන මේ සැරේ දාන්නම්.

    Programming වල සාමාන්ය යෙන් Array වර්ග 2ක් තියෙනවානේ.

    01. Numerical Arrays
    <?php $num_array = array(‘kamal’, ‘colombo, 12); ?>

    02. Associated Arrays
    <?php $assoc_array = array(‘name’ => ‘kamal’, ‘city’ => ‘colombo’, ‘age’ => ‘12) ?>

    ඉතින් මේවාගෙන් Data ගන්න ලේසිම විදිය තමයි foreach කියන්නේ. මේ Array වර්ග දෙකට foreach දෙවිධියකට පාවිච්චි කරන්න පුලුවන්.

    ඊට කලින් කියන්න ඕනි array එකක key එකකුයි, value එකකුයි තියෙනවනේ. මං උඩින් දාලා තියෙන Numerical Array එකේ තියෙන්නේ value ටිකක් විතරනේ. ඒත් ඇත්තටම බැලුවොත් ඒකටත් key එකක් තියෙනවා. <?php print_r($array); ?> ගහලා බැලුවනම් ඔයාලාට පෙනෙයි මෙහෙම එකක්.

    Array(
    [0] => ‘kamal’,
    [1] => ‘colombo’,
    [2] => 12
    )
    මේකේ key එක Auto Number එකක් නිසා තමයි මේවට Numerical Array එකක් කියන්නේ. දැන් මේ Numerical Array එක foreach එකට දාමු.

    <?php
    foreach($num_array as $key => $val){
    echo $key ;
    }

    මේක run කරාම
    Output:
    012

    ගොඩක් වෙලාවට මේ key එක use වෙන්නේ නැති නිසා foreach එකෙන් $key එක අයින් කරලා දාන්න පුලුවන්.
    Code:
    foreach($num_array as $my_value){
    	echo $my_value;
    }

    Output:
    Kamal, Colombo, 12

    ඒ කියන්නේ Numerical Array එකේ keys ටික තමයි echo වෙලා තියෙන්නේ. ඔය විදියටම $val ටික echo කරලා බලන්න. මේක වැඩියෙන්ම use වෙන්නේ ගොඩක් වෙලාවට array values ටික ඔක්කොම එක පාර list කරගන්න ඕන වෙලාවට.
    දැන් බලමු Associated Array එකට foreach දාලා. මේ Array එක print_r එකකට දාලා බැලුවොත්,

    Code:
    Array(
                         [name] => ‘kamal’,
                         [city] => ‘colombo’,
                         [age] => 12
    )

    දැන් මේකේ Auto Number seen එකක් නෑ. එතන key එකට අපිට ඔනි key එකක් තමයි දීලා තියෙන්නේ. එතකොට අපිට ලේසියෙන්ම පුලුවන් අදාල value එක හොයාගන්න key name එකෙන්.

    <?php echo $assoc_array[‘age’]; ?>
    12

    මේ accosiated array ගොඩක් flexible numeric වලට වඩා.
    Ex:
    Code:
    <?php foreach($assoc_array  as $key => $value){
    	echo ‘My ’ . $key . ‘ is ’ . $value . ‘<br/>’;
    }

    Output:
    My name is Kamal
    My city is Colombo
    My age is 12

    ගොඩක් වෙලාවට Database වලින් return වෙන data එන්නේ Numerical, Associate array mix වෙලා. මේවට කියන්නේ muliti dimenstion Arrays කියලා.

    Code:
    $DB = Array(
    	[0] => Array ( 
                         [id] => 1000,
                         [name] => ‘name01’,
                         [address] => ‘address01’,
                         [age] =>  ‘age01’
    ),
    
    	[1] => Array(
                         [id] => 1001,
                         [name] => ‘name02’,
                         [address] => ‘address02’,
                         [age] =>  ‘age02’
    ),
    
            [2] => Array(
                         [id] => 1002,
                         [name] => ‘name03’,
                         [address] => ‘address03’,
                         [age] =>  ‘age03’
    ),
    
    )
    දැන් මෙතන Numerical එකක් අස්සේ Associated Array එකකුත් ඇවිල්ලානේ. එහෙනම් අපිට මේකට foreach වර්ග 2ම පාවිච්චි කරන්න වෙනවා.
    Code:
    foreach($DB as $row){
    	foreach($row as $key => $val) {
    	
    }
    }

    මෙතන $row එකේ loop වෙන්නේ 0,1,2 keys වලින් යන Numerical Array එක. ඒ $row එක ආයෙත් foreach එකකට දැම්මම එක Numerical Loop එකකදි Associated array එකත් loop වෙනවා. එතකොට $key එකට එන්නේ ඒ ඒ අවස්ථාවේ තියෙන id, name, address & age. $val එකට එන්නේ ඒ ඒ අදාල values.
    දැන් මේ data ටික table එකකට දාගමු. මේකෙදි හොදට තේරුම් ගන්න data use කරන විදිය. :angry:

    Code:
    <table>
    <tr>
    	<th>ID</th>
            <th>NAME</th>
    	<th>ADDRESS</th>
    	<th>AGE</th>
    </tr>
    	<?php foreach($DB as $row){ ?>
    		<tr>
    		<?php foreach($row as $key => $val) { ?>
    		         <td><?php echo $val; ?></td>
                    <?php } ?>
                      </tr>
            <?php } ?>
    </table>

    ID NAME ADDRESS AGE
    1000 Name01 Addess01 Age01
    1001 Name02 Addess02 Age2
    1002 Name03 Addess02 Age3

    ඇත්තටම මේකේ සරල දෙයක් තියෙන්නේ. හරියටම තේරුම් ගත්තම ඕන තරම් එක Array එකක ඇතුලේ තව Arrays 1කට වඩා තිබුනත් ඒවා ගානට foreach වලින් Manipulate කරගන්න පුලුවන්. :yes:
    මෙතන මට මග ඇරුණ දේවල් ඇති. මොනා හරි තියෙනවනම් අහන්න. :yes: :cool::cool:

    වැඩි දුර විස්තර : http://www.php.net/manual/en/control-structures.foreach.php

    how-foreach-actually-works
     

    P_Namal

    Active member
  • Oct 19, 2007
    862
    224
    43
    විල්සන් මාමා;16083659 said:
    Mekanam supiri wadak aiye.:yes::yes::yes::yes:
    Digatama karanna :yes::yes::yes:
    Mata mara watinawa. Thank you nemai pin sidda wenawa !!!!! :love::love::love::love:

    Onna mama thawa pinak karagatta ehenam. demmaaluth post ekak :rofl:
     
    Dec 30, 2013
    1,235
    166
    0
    Meke post dala thiyena then hoyaganna eka thamai ubalata epa wenne :oo::oo:

    උබට පිස්සුද බන්? උබ හිතනවද මේකෙ ඉන්න උන් පට්ට, එළ , සුපිරි කිව්වට මේව උනන්දුවෙන් බලනව කියල :rolleyes: නිකන් කාලෙ කන්න එපා බන් ඒකාලේ තව දෙයක් ඉගෙන ගනින්. ඉගෙන ගන්න ඕන එකාට කවුරුවත් ත්‍රෙඩ් දදා ඉන්න ඕන නෑ.

    ඕව බොරු වැඩ බන්. :P
     

    P_Namal

    Active member
  • Oct 19, 2007
    862
    224
    43
    උබට පිස්සුද බන්? උබ හිතනවද මේකෙ ඉන්න උන් පට්ට, එළ , සුපිරි කිව්වට මේව උනන්දුවෙන් බලනව කියල :rolleyes: නිකන් කාලෙ කන්න එපා බන් ඒකාලේ තව දෙයක් ඉගෙන ගනින්. ඉගෙන ගන්න ඕන එකාට කවුරුවත් ත්‍රෙඩ් දදා ඉන්න ඕන නෑ.

    ඕව බොරු වැඩ බන්. :P

    Balana ekek balan nethe ban. Oni ekek hari ethine meke :D:D