как сбросить несколько ключей в php

Я получаю сообщение об ошибке при удалении данных. Может ли кто-нибудь сказать мне, как это сделать. Здесь у меня массив столбцов выглядит так: -

enter code here
Array
(
[0] => Id
[1] => Name
[2] => MainDeity
[3] => Description
[4] => MainImage
[5] => Category
[6] => Tehsil
[7] => City
[8] => District
[9] => State
[10] => Terrain

) Я использую структуру laravel. Я хочу сбросить три столбца Id, State, Terrain. Я использовал этот код, но он показывает мне ошибку: - Невозможно отменить смещения строк

enter code here
 $columns = Schema::getColumnListing('places');
    foreach ($columns as $key => $value) {
        if($value=="Id"){
            unset($value[$key]);
        }
        $columndata[] = $value;
    }

    echo "<pre>";print_r($columndata); die;

person Community    schedule 22.03.2017    source источник
comment
вы хотите сбросить ключи, проверив их значения? правильный ?   -  person Mittul At TechnoBrave    schedule 22.03.2017
comment
да, я хочу отменить его значение   -  person    schedule 22.03.2017
comment
проверьте это один раз stackoverflow.com/questions/3059392/   -  person Mittul At TechnoBrave    schedule 22.03.2017


Ответы (3)


Проверьте этот код,

$arr = ["0" => "Id", "1" => "Name"
    ];
    $columndata = [];
 foreach ($arr as $key => &$value) {
    if(in_array($value,["Id",'State','Terrain']){
        unset($value);
    }else{
     $columndata[] = $value;
    }
}
$columndata = array_values(array_filter($columndata));
print_r($columndata);

Возникла ошибка, потому что после проверки идентификатора вы сбрасываете это значение. А затем пытается сохранить это значение в columndata.

Вот рабочий код

person Rahul    schedule 22.03.2017

Это простой однострочный:

$result = array_diff(Schema::getColumnListing('places'), ['Id', 'State', 'Terrain']);
person Peter    schedule 18.04.2017

Должно быть так,

 $columns = Schema::getColumnListing('places');
    foreach ($columns as $key => $value) {

        if($value=="Id"){
            unset($columns[$key]);
        } else {
            $columndata[] = $value;
        }   

    }

    echo "<pre>";print_r($columndata); die;
person Naga    schedule 22.03.2017
comment
я думаю, что когда я печатаю массив столбцов, он будет работать нормально - person ; 22.03.2017