我要疯了。
所以,假设我得到了这个数组:

Array
(

  [0] => Array
    (
     [variation_name] => variation_1
     [license_type] => Array
    (
      [slug] => license_x
      [price] => price_x
      [dimensions] => dimensions_x
    )
 )

  [1] => Array
   (
    [variation_name] => variation_2
    [license_type] => Array
    (
      [slug] => license_y
      [price] => price_y
      [dimensions] => dimensions_y
    )
)

  [2] => Array
   (
  [variation_name] => variation_3
  [license_type] => Array
    (
      [slug] => license_solid_z
      [price] => price_z
      [dimensions] => dimensions_z
    )
)
)

我想回显以“license_solid”开头的数组值和包含它的数组的值。
要获得“许可证”条目,我运行以下命令:
$attribute_pa_licenses = array_column($array, 'license_type');
$attribute_pa_license_slug = array_column($attribute_pa_licenses, 'slug');

foreach ($attribute_pa_license_slug as $value) {
  if (0 === strpos($value, 'license_solid')) {

   echo $value;
  }
}

它确实有效,但我不知道如何同时回送“包含”$value的数组
在这个例子中,它应该给出变量3

最佳答案

重写foreach循环如下:

foreach ($attribute_pa_license_slug as $value) {
  if(!empty($value['license_type']['slug'])){
  $slug = $value['license_type']['slug'];
   if (strpos($slug, 'license_solid') !== false) {
     echo $slug; // echo your matched value
     $data[] = $value; // store your array in data array
   }
 }
}
print_r($data); // print arrays who has valid slug values

10-04 22:52
查看更多