【问题标题】:How to set key to value in array?如何将键设置为数组中的值?
【发布时间】:2016-03-09 05:04:22
【问题描述】:

我有这个字符串:'#d48888,abc.com,repeat,top left,scroll';

如何将此字符串转换为这样的数组:Array('color'=>#d48888, 'href'=>abc.com, ... )

【问题讨论】:

  • 注意:Array('color'=>#d48888, 'href'=>abc.com, ... ) 是一个 php 数组

标签: php jquery arrays


【解决方案1】:

试试这个,

先以逗号分割字符串:

var string = '#d48888,abc.com,repeat,top left,scroll';
var arrayOfString =   str.split(',');

使用另一个数组来存储键 => 值对:

var newArray = {};
newArray.color = arrayOfString[0];
newArray.href = arrayOfString[1];
newArray.action = arrayOfString[2];
newArray.top = arrayOfString[3];
newArray.scroll = arrayOfString[4];

【讨论】:

    【解决方案2】:

    我认为您正在寻找一个 javascript 对象,而不是一个数组。

    var tmpObj = {};
    var str = '#d48888,abc.com,repeat,top left,scroll';
    
    var aryStr = str.split(','); //Splits the string on a delimeter
    tmpObj.color = aryStr[0]; //sets the 'color' property
    tmpObj.href = aryStr[1]; //sets the 'href' property
    //Complete object
    
    console.log(aryStr); //prints out the object and its properties
    

    【讨论】:

      【解决方案3】:

      使用键创建一个数组,然后循环并使用您想要的键和值保存一个对象

      尝试类似:

      var string_array= '#d48888,abc.com,repeat,top left,scroll'.split(',');
      var array_key=["color","href","background-repeat","background-position","overflow"];
      var newobj = {};
      $.each(string_array,function(i,v){
       newobj[array_key[i]] = v;
      });
      

      https://jsfiddle.net/1qbu4brs/

      【讨论】:

        【解决方案4】:

        如果你要使用 PHP,使用explode(<delimeter>,string) 将你的字符串转换成数组,然后添加到 PHP 数组中(实际上是一个映射):

        PHP explode() documentation

        $str = "#d48888,abc.com,repeat,top left,scroll";
        $aryStr = explode(",", $str);
        
        $finalAry = [
            "color" => $aryStr[0];
            "href" => $aryStr[1];
            //complete
        ];
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-12-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-06-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多