我如何在php中取消设置多个键
Posted
技术标签:
【中文标题】我如何在php中取消设置多个键【英文标题】:how do i unset multiple keys in php 【发布时间】:2017-08-14 02:59:53 【问题描述】:我在取消设置数据时遇到错误。谁能告诉我该怎么做。这里我的列数组看起来像:-
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;
【问题讨论】:
您想通过检查键的值来取消设置键吗?正确吗? 是的,我想通过它的值取消设置 检查一次***.com/questions/3059392/… 【参考方案1】:这是一个简单的单行:
$result = array_diff(Schema::getColumnListing('places'), ['Id', 'State', 'Terrain']);
【讨论】:
【参考方案2】:检查此代码,
$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);
出现错误是因为在检查 id 之后,您正在取消设置该值。然后尝试将该值保存在 columndata 中。
这里正在工作code
【讨论】:
【参考方案3】:应该是这样的,
$columns = Schema::getColumnListing('places');
foreach ($columns as $key => $value)
if($value=="Id")
unset($columns[$key]);
else
$columndata[] = $value;
echo "<pre>";print_r($columndata); die;
【讨论】:
我认为当我打印 columnsarray 时它会运行良好以上是关于我如何在php中取消设置多个键的主要内容,如果未能解决你的问题,请参考以下文章