2013-05-07 31 views
0

我对PHP阵列比较陌生。所以在获得理想阵列方面遇到一些困难。 我声明了一个数组如下:如何在PHP中的数组中创建新的键值对?

if (is_array($cs_data)) { 
       ----------------------------- 
      } else { 
       $cs_data = array(); 
       ----------------------------- 
      } 

首先,我检查数组是否已经申报或它被宣布。根据它我会执行一些代码。 现在,当我声明一个数组时,维数组上的单个元素将被创建。在我使用array_push()插入新值时创建数组时,值的关键字从0开始,依此类推。 但我的要求是应该有我给出的名字的键(即键名应该由我定义,如下面的数组所示),并且他们应该有我设置给他们的值。 您的理解,我给它应该看起来像下面给出的一个预期的数组:

array(
    [cs_map_id] => 3 
    [subject_name] => Maths 
    [subject_checked] => 1 
    [teacher_cs_id] => 34 
) 

谁能帮我实现这样的阵列输出?提前致谢。

+3

所有你需要做的是:'$ cs_data ['cs_map_id '] = 1;'没有必要使用任何函数。你可以这样做:'$ cs_data = array('cs_map_id'=> 3,'subject_name'=>'Maths');' – 2013-05-07 10:30:36

+0

@TillHelge:你的技巧对我很好 – PHPLover 2013-05-07 10:33:20

回答

1
$cs_data = array('cs_map_id' => 3, 'subject_name' => 'Maths'); 

0

代替array_push的尝试这个

 if (is_array($cs_data)) { 
     $cs_data['yournewkey'] = 'yournewvalue'; 
     } else { 
      $cs_data = array(); 
      $cs_data['cs_map_id'] = 3; 
      $cs_data['subject_name'] = 'Maths'; 
      $cs_data['subject_checked'] = 1; 
      $cs_data['teacher_cs_id'] = 34; 
     } 
0

你可以尝试以下::

$cs_data=null; 
    if (is_array($cs_data)) 
    { 
     $cs_data['cs_map_id']=3;//what ever you need 
     $cs_data['subject_name']='Maths';//what ever you need 
     $cs_data['subject_checked']=1;//what ever you need 
     $cs_data['teacher_cs_id']=34;//what ever you need 
    } 
    else 
    { 
     $cs_data = array(); 
     $cs_data['cs_map_id']=3;//what ever you need 
     $cs_data['subject_name']='Maths';//what ever you need 
     $cs_data['subject_checked']=1;//what ever you need 
     $cs_data['teacher_cs_id']=34; //what ever you need 
    } 
    foreach($cs_data as $key=>$val) 
    { 
     var_dump($key."--->".$val);//what ever you need 
    } 
相关问题