شوّيت: شبكة كرة قدم اجتماعية




العودة   سوالف سوفت > سوالف برمجة المواقع وتطويرها > PHP
التسجيل المدوّنات البحث مشاركات اليوم جعل الأقسام مقروءة

الرد على الموضوع
 
LinkBack أدوات الموضوع
عضو فعال
#1  
كيفية تحويل متغير مصفوفة داخل كلاس الي كلاس؟

بسم الله الرحمن الرحيم

كيفية تحويل متغير مصفوفة داخل كلاس الي كلاس

مثل كده

كود PHP:

class H
{
    public 
$M=array();


كيفية اخلي العناصر الي فيه متغيرات؟؟


وكمان انا استخدم الطريقة دية ولم تشتغل

كود PHP:


class H
{
    public 
$M=(object)array();

عشان استخدمها كده


كود PHP:
$N=NEW H();
$N->M->العنصر الي داخل المصفوفة 






__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
لطلب البرمجة فقط
helal-egypt@hotmail.com
محمدهلال is offline   قديم 09-04-2009, 05:08 PM
الرد مع إقتباس
مشرف قسم PHP
#2  

يمكن عمل ذلك بسهولة عن طريق استخدم دوال setter و getter وهي __set و __get لعمل ما يسمى Overloading دعنى اسميه التحميل المرن(وليس الزائد)
والذي يتيح لك انشاء متغير في كائن وهذه المتغير غير معرف اصلا في الصنف ... وكذلك __call تتيح لك استدعائ خاصية method وهي غير موجوده في الصنف الاساسي .... مثال لتوظيح جميع الأمور

كود PHP:
<?php
class OverLoadingClass {
    var 
$data = array();
    
    function 
OverLoadingClass($arr=array()) {
        if(
is_array($arr)) {
            
$this->data $arr;
        } else {
            
$this->data = array();
        }
    }
    
//set variable
    
function __set($name$value){
        
$this->data[$name] = $value;
    }
    
//get variable
    
function __get($name){
        if(isset(
$this->data[$name])){
            return(
$this->data[$name]);
        } else {
            print 
"var:$name not found\n";
            return(
null);
        }
    }
    
//if method not found call this method 
    
function __call($name$args){
        if(isset(
$this->data[$name])){
            return(
$this->data[$name]);
        } else {
            print 
"Method:$name not found\n";
            return(
null);
        }
    }
}

$arr = array('user'=>'Swalif''email'=>'Swalif@swalif.com');
$OLC = new OverLoadingClass($arr);
print 
$OLC->user;//Swalif
print $OLC->email();//Swalif@swalif.com
print $OLC->class_name;// not found
$OLC->class_name='OverLoadingClass';
print 
$OLC->class_name;//OverLoadingClass
?>
راجع PHP: Overloading - Manual
أيضا أوبجكت






__________________
ضيف الله العتيبي مبرمج حر و مهندس معتمد من زيند (ZCE)
الاتصال: daif@daif.net او جوال: 0556639884
الخدمات: تقديم استشارات برمجيه, تطوير بوابات/خدمات إلكترونيه للقطاع العام او الخاص .
daif is offline   قديم 09-04-2009, 07:00 PM
الرد مع إقتباس
عضو فعال
#3  

جزاك الله الف خيرا استاذ ضيف

طيب مه ممكن اعمل مثل المثال بتاعك كده

كود PHP:
CLass mohamed
  
{
      
      function 
FUNC($arr)
      {
          foreach(
$arr as $KEYS=>$values)
          {
              
$NEWAR[$KEYS]=$values;
          }
          return  (object)
$NEWAR;
          
      }
      
      
      
      
      
      
  }
  
  
$arr=array("name"=>"mohamedhelal","email"=>"mohamed_helal123456@hotmail.com");
  
$HELAL=NEW mohamed();
  
$NE=$HELAL->FUNC($arr);
  echo 
$NE->name

الي انا اريده اني ارجع الداله انا عاوذ اعمل داله امرر ليه تنين براميتر ترجع الكلاس بالبرميتر الثاني




جزاك الله الف خيرا اخي الكريم ضيف






__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
لطلب البرمجة فقط
helal-egypt@hotmail.com
محمدهلال is offline   قديم 09-04-2009, 07:37 PM
الرد مع إقتباس
الرد على الموضوع


 

أدوات الموضوع

قوانين المشاركات
لا يمكنك كتابة مواضيع جديدة
لا يمكنك إضافة ردود
لا يمكنك إرسال مرفقات
لا يمكنك تعديل مشاركاتك

كود vB متاح
كود [IMG] متاح
كود HTML غير متاح
Trackbacks are متاح
Pingbacks are متاح
Refbacks are متاح


المواضيع المشابهه
الموضوع كاتب الموضوع القسم الردود آخر مشاركة
[سؤال] في تحويل النص إلى مصفوفة مع القالب السهل kilani PHP 2 12-09-2008 10:37 PM
ممكن درس كيفية تخزين السيزون فى قاعدة البيانات مع كلاس؟ الاخ ejasoft elkaser PHP 5 21-04-2007 07:35 AM
كيفية تحويل متغير جافا الى متغير php SnaKeRz PHP 7 04-10-2006 03:41 AM
متغير في مصفوفة .. أهلا بالخبراء alsohba PHP 2 29-09-2006 06:55 PM
اخوكم في مشكلة كيفية تحويل mdb الي mysql Omr PHP 3 29-10-2005 10:19 PM


جميع الأوقات بتوقيت غرينتش +3. الوقت الآن هو 03:19 PM.