问题描述
我有这个多维数组.我需要搜索它并只返回与slug"值匹配的键.我知道还有其他关于搜索多维数组的线程,但我对适用于我的情况的了解还不够.非常感谢您的帮助!
I have this multidimensional array. I need to search it and return only the key that matches the value of the "slug". I know there are other threads about searching multidimensional arrays, but I'm not really understanding enough to apply to my situation. Thanks very much for any help!
所以我需要一个类似的函数:
So I need a function like:
myfunction($products,'breville-one-touch-tea-maker-BTM800XL'); // returns 1
这是数组:
$products = array ( 1 => array( 'name' => 'The Breville One-Touch Tea Maker', 'slug' => 'breville-one-touch-tea-maker-BTM800XL', 'shortname' => 'The One-Touch Tea Maker', 'listprice' => '299.99', 'price' => '249.99', 'rating' => '9.5', 'reviews' => '81', 'buyurl' => 'http://www.51sjk.com/Upload/Articles/1/0/337/337316_20221117112750179.jpg', 'videoref1' => 'xNb-FOTJY1c', 'videoref2' => 'WAyk-O2B6F8', 'image' => '812BpgHhjBML.jpg', 'related1' => '2', 'related2' => '3', 'related3' => '4', 'bestbuy' => '1', 'quote' => '', 'quoteautor' => 'K. Martino', ), 2 => array( 'name' => 'Breville Variable-Temperature Kettle BKE820XL', 'slug' => 'breville-variable-temperature-kettle-BKE820XL', 'shortname' => 'Variable Temperature Kettle', 'listprice' => '199.99', 'price' => '129.99', 'rating' => '9', 'reviews' => '78', 'buyurl' => 'http://www.51sjk.com/Upload/Articles/1/0/337/337316_20221117112753668.jpg', 'videoref1' => 'oyZWBD83xeE', 'image' => '41y2B8jSKmwL.jpg', 'related1' => '3', 'related2' => '4', 'related3' => '5', 'bestbuy' => '1', 'quote' => '', 'quoteautor' => '', ), );
推荐答案
很简单:
function myfunction($products, $field, $value) { foreach($products as $key => $product) { if ( $product[$field] === $value ) return $key; } return false; }