我有这个数组:
$myFruit = 'apple';
$fruits = array(
'0' => array('banana', 'cherry'),
'1' => array('apple', 'pear'),
'2' => array('apple', 'kiwi')
);
我想知道apple
是哪个数组。
所以我的代码如下,它正在运行。
foreach($fruits as $key => $fruit) {;
if(in_array($myFruit, $fruit)) {
echo $key;
}
}
我的问题实际上apple
位于两个数组(1
和2
)中,代码回应12
,而在找到一个结果时它应该停止。
因此它应仅回显1
并停止搜索。
如何更改我的代码?
感谢。
答案 0 :(得分:2)
只需在foreach中添加一个中断,使其返回找到您单词的第一个数组。
foreach($fruits as $key => $fruit) {;
if(in_array($myFruit, $fruit)) {
echo $key;
break;
}
}
答案 1 :(得分:0)
尝试在该函数中使用函数和return
语句。
function search_subarray($haystacks, $needle) {
foreach($haystacks as $key => $value) {
if(in_array($needle, $value)) {
return $key;
}
}
}
search_subarray($fruits, $fruit);
答案 2 :(得分:0)
使用break语句可以完成工作。
您可以在官方网站break
上阅读var express = require("express");
var app = express();
var request = require("request");
app.set("view engine","ejs");
var data = {
url : "http://api.pexels.com/v1/search?query=example+query&per_page=15&page=1",
headers: {
'Authorization': 'Your-Api-Key'
}
}
request(data, function(error,response, body){
if(!error && response.statusCode == 200){
console.log(body);
}
});
app.listen(process.env.PORT, process.env.IP, function(){
console.log("server is running!");
});