如何从字符串中删除数组元素

时间:2017-07-19 07:52:49

标签: php arrays unset

我需要从字符串中删除数组中的键。

字符串是Caused by: org.postgresql.util.PSQLException: ERROR: foreign key constraint "fk7gyqskn6x2l2910xhhtjgvh0j" cannot be implemented Detail: Key columns "veh_reg_authority" and "id" are of incompatible types: numeric and bigint.

数组是

translations.fr

结果必须是:

[
    ...,
    translations => [
          fr => [
              ...
          ],
          es => [
              ...
          ]
    ],
    ...,
]

我认为,使用[ ..., translations => [ es => [ ... ] ], ..., ] exlpode是好方法。

你能帮帮我吗?感谢的

4 个答案:

答案 0 :(得分:2)

试试这个

localStorage.removeItem("string");

答案 1 :(得分:0)

试试这个:

如果你想替换同一个数组并删除" fr"完全

$translationArray = unset($translationArray['fr']);

如果要保留以前的数组并将更改保存为新数组

$translationArrayNew = unset($translationArray['fr']);

答案 2 :(得分:0)

我认为这是你正在寻找的东西:

explode

使用$array[$exploded[0]] 将字符串放入包含2个键的数组中: 0 =>译文 1 => FR

这可以访问'翻译'数组中的键

$array[$exploded[0]][$exploded[1]]

这会访问' fr'翻译中的关键'

$array['translations]['fr']

它就像写作:{{1}}

答案 3 :(得分:0)

解决方案:

public function deleteKeyV3($keyToDelete) {
    $keys = explode('.', $keyToDelete);
    $result = &$array;

    foreach ($keys as $key) {
        if (isset($result[$key])) {
            if ($key == end($keys)) {
                unset($result[$key]);
            } else {
                $result = &$result[$key];
            }
        }
    }
}