首页 > 解决方案 > 从数字中删除整数数组值

问题描述

我有 50 个值以这种形式存储在表中的一个字段中,以逗号分隔(例如:472744,341750,263249,...

我可以查询该表中的该字段。我想将值转换为数组并从数组中删除特定值。下面是我的代码,但它拒绝工作。谁能解释为什么?

public function getChurchPinInfo($id)
{
    $query = $this->db -> prepare(
        "SELECT * FROM  church_pin_tbl WHERE church_id = ? LIMIT 1"
    );
    $query -> execute(array($id));
    $result = $query->fetch();

    return $result;
}

接着

$churchPinsArray = array((new Shop)->getChurchPinInfo($churchId)->pin);

if (($key = array_search(341750, $churchPinsArray)) !== false) {
    unset($churchPinsArray[$key]);
    print_r($churchPinsArray);
} else {
    echo 'Not found';
}

标签: phpsql

解决方案


这实际上是我的问题的答案,我成功地将用逗号分隔的值转换为数组,然后在数组内爆之前从数组列表中删除一个值

$churchPinList = (new Shop)->getChurchPinInfo($churchId)->pin;

$arr = explode(',', $churchPinList);
$churchPinsArray = array_map('intval', $arr);

$arrayWithoutUsedPin = array_diff($churchPinsArray, array($churchPin));
$newPins = implode(',', $arrayWithoutUsedPin);
echo $newPins;

推荐阅读