PHP - 为基于逗号的字符串/数组添加值

时间:2015-06-21 15:17:17

标签: php arrays explode implode

我将数据库中的一些数据存储在基于逗号的字符串中,如下所示:

value1, value2, value3, value4 etc...

这是字符串的变量:

$data["subscribers"];

我有一个功能,在用户请求时可以从字符串中删除它们的值或添加它。

这就是我删除它的方法:

    /* Remove value from comma seperated string */
    function removeFromString($str, $item) {
    $parts = explode(',', $str);

    while(($i = array_search($item, $parts)) !== false) {
        unset($parts[$i]);
    }

    return implode(',', $parts);
    }
    $newString = removeFromString($existArr, $userdata["id"]);

所以在上面的例子中,我从字符串中移除$ userdata ['id'](如果它存在)。

我的问题是..如何为基于逗号的字符串添加值?

3 个答案:

答案 0 :(得分:2)

您只需执行$array[] = $var;

function addtoString($str, $item) {
    $parts = explode(',', $str);
    $parts[] = $item;

    return implode(',', $parts);
    }
    $newString = addtoString($existArr, $userdata["id"]);

答案 1 :(得分:1)

from collections import defaultdict

tree = lambda: defaultdict(tree)
rule = tree()
rule["exports-rule-info-2"]["pathname"] = qtree_name
rule["exports-rule-info-2"]["security-rules"]["security-rule-info"]["read-write"]["exports-hostname-info"]["name"] = security_rules 
rule["exports-rule-info-2"]["security-rules"]["security-rule-info"]["root"]["exports-hostname-info"]["name"] = security_rules
rule["exports-rule-info-2"]["security-rules"]["security-rule-info"]["sec-flavor"]["sec-flavor-info"]["flavor"] = 'sec'

答案 2 :(得分:1)

对我而言最佳表现

function addItem($str, $item) {
    return ($str != '' ? $str.',' : '').$item;
}