【问题标题】:how do i unset multiple keys in php我如何在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;

【问题讨论】:

标签: php arrays unset


【解决方案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 时它会运行良好
      猜你喜欢
      • 2015-06-10
      • 2011-05-23
      • 2012-05-18
      • 1970-01-01
      • 2013-01-31
      • 2012-04-06
      • 2019-08-27
      • 2019-02-25
      相关资源
      最近更新 更多