【发布时间】:2017-04-19 02:01:18
【问题描述】:
我想操作数组元素。因此,如果某个数组元素以字母n 或m 结尾,并且以下元素是例如apple,那么我想删除“apple”的“a”,以便得到输出:@987654324 @
我的代码:
$input = array("man","apple");
$ending = array("m","n");
$example = array("apple","orange");
for($i=0;$i<count($input);$i++)
{
$second = isset( $input[$i+1])?$input[$i+1][0]:null;
$third = substr($input[$i],-2);
if( isset($third) && isset($second) ){
if ( in_array($third,$ending) && in_array($second,$example) ){
$input[$i+1] = substr($input[$i+1],0,-2);
}
}
}
如何更改我的代码以获得所需的输出?
【问题讨论】:
-
那么如果数组是这样的输出会是什么:
array("man", "ham", "apple");,会是array("man", "am", "pple");吗? -
@RajdeepPaul 不,它与输出相同
-
那么这背后的逻辑是什么?
man以n结尾,因此ham的开头字母h被删除。同样,现在am以字母m结尾,因此apple的字母a被删除,保留为pple,不是吗?请澄清问题中的逻辑。 -
@RajdeepPaul 仅当一个单词的结尾字母是
n并且下一个单词是apple或orange时,这两个单词的第一个字母会被删除。逻辑并不重要……只是一个简单的案例来理解它…… -
@MoeJoe 你可以查看我的任务解决方案。
标签: php arrays string-matching