2

文字列の配列を生成するコードがあります....今私の問題は、配列の各結果をsubstrにする必要があることですが、substrで配列を使用することは許可されていないと思います...

助けてください:

コード:

<?php
$file = 'upload/filter.txt';
$searchfor = $_POST['search'];
$btn = $_POST['button'];
$sum = 0;

if($btn == 'search') {

//prevents the browser from parsing this as HTML.
header('Content-Type: text/plain');

// get the file contents, assuming the file to be readable (and exist)
$contents = file_get_contents($file);

// escape special characters in the query
$pattern = preg_quote($searchfor, '/');

// finalise the regular expression, matching the whole line
$pattern = "/^.*$pattern.*\$/m";


// search, and store all matching occurences in $matches
if(preg_match_all($pattern, $contents, $matches)){
echo "Found matches:\n";
$result = implode("\n", $matches[0]);
echo $result;


 }
else{
 echo "No matches found";
 }


 }
 ?>

$matches には配列があります... $matches の各結果を substr にする必要があります

4

3 に答える 3

2

array_walk の適切な使用

array_walk( $matches, substr(your area));

Array_map は複数の配列を受け入れます

array_map(substr(your area),  $matches1, $origarray2);

あなたの場合

 array_map(substr(your area),  $matches);

続きを読む:

配列マップ

array_walk

于 2013-09-05T08:02:28.300 に答える
2

あなたが使用することができますarray_walk:

function fcn(&$item) {
   $item = substr(..do what you want here ...);
}

array_walk($matches, "fcn");
于 2013-09-05T07:52:58.723 に答える