Я беру данные из Excel с помощью PHPExcel, как это:StrPos возвращает истину при использовании различных строк ясно
$number = $objPHPExcel->getActiveSheet()->getCell('A3')->getValue();
номер явно номер, хорошо? так, после того, что я хочу знать, если $ число существует на слово $ эля:
if(strpos($elem,$number) !== false) //está?
{
$answer = true;
}
проблема заключается в том, что, когда я проверить его с этим данными, $ ответ, правда, и это не должно быть:
$number = 11001456
$elem = '10001033.jpg'
Итак ... что здесь не так?
PD: Я собираюсь отправить весь код, так что вы можете увидеть, если я пытаюсь сделать (строка) $ число, то происходит сбой кода, он превышает время выполнения .... (с помощью CakePHP)
важно находится в функции SearchPhoto ... вы увидите StrPos там ...
public function admin_load() //esto sirve para cargar un excel...
{
if($this->request->is('post'))
{
$data = $this->request->data;
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />');
date_default_timezone_set('Europe/London');
/** Include PHPExcel_IOFactory */
require_once WWW_ROOT . '/excelWorker/Classes/PHPExcel/IOFactory.php';
echo date('H:i:s') , " Load from Excel2007 file" , EOL;
$callStartTime = microtime(true);
$objPHPExcel = PHPExcel_IOFactory::load($data['People']['excel']['tmp_name']);
$dir = WWW_ROOT . "img/photos";
$files = scandir($dir);
$batchPeople = array();
for($i = 2; $i <= $data['People']['num']; $i++)
{
$batchPeople[$i-2]['People']['fullname'] = $objPHPExcel->getActiveSheet()->getCell('B'.$i)->getValue();
$batchPeople[$i-2]['People']['floor'] = $objPHPExcel->getActiveSheet()->getCell('C'.$i)->getValue();
$batchPeople[$i-2]['People']['country'] = $objPHPExcel->getActiveSheet()->getCell('D'.$i)->getValue();
$batchPeople[$i-2]['People']['day'] = $objPHPExcel->getActiveSheet()->getCell('F'.$i)->getValue();
$batchPeople[$i-2]['People']['month'] = $objPHPExcel->getActiveSheet()->getCell('G'.$i)->getValue();
$batchPeople[$i-2]['People']['photo'] = $this->SearchPhoto($objPHPExcel->getActiveSheet()->getCell('A'.$i)->getValue(),$files);
}
// $this->People->saveMany($batchPeople);
}
}
function SearchPhoto($number, $array)
{
$answer = '';
$getOut = false;
foreach($array as $elem)
{
if(strcmp($elem,'.') != 0 && strcmp($elem,'..') != 0)
if(strpos($elem,$number) !== false) //está?
{
echo 'coinciden--> '. $number . ',' . $elem;
echo '<br>';
$answer = $elem;
$getOut = true;
}
if($getOut)
break;
}
return $answer;
}
Ваш код использует '$ number', не' $ num'. – Barmar
У вас нет предложения 'else'. Так что если '$ answer' был' true' перед оператором 'if', это будет по-прежнему истинным после. – Barmar