내가 만드는 앱에서 변수에있는 내용을 사용하여 배열을 만들고 싶습니다. 내 코드 :변수의 PHP 배열 내용
$cont = '"q","w","e","r","t",';
$num = array(eval($cont));
foreach ($num as $v) {
echo "" . $v . "<br>OK<br><br>";
}
아무 것도 반환하지 않습니다. 나는 평가와 함께 그것을 시도했다. 그리고 내가 무엇을 잘못하고 있냐?
내가 만드는 앱에서 변수에있는 내용을 사용하여 배열을 만들고 싶습니다. 내 코드 :변수의 PHP 배열 내용
$cont = '"q","w","e","r","t",';
$num = array(eval($cont));
foreach ($num as $v) {
echo "" . $v . "<br>OK<br><br>";
}
아무 것도 반환하지 않습니다. 나는 평가와 함께 그것을 시도했다. 그리고 내가 무엇을 잘못하고 있냐?
는 이후 explode()
찾고있는 것을 추측 :
$cont = '"q","w","e","r","t","y"';
$num = explode(',',$cont);
foreach ($num as $v) {
echo "" . $v . "<br>OK<br><br>";
}
출력
"q"
OK
"w"
OK
..
마지막으로 문자열에 쉼표가 있으면 마지막에 "OK"만 인쇄됩니다. 이를 위해 array_filter() 함수를 사용하여 null 값을 필터링 할 수 있습니다. – Kashyap
eval
악한, most of time.
eval
를 사용하여 주장하는 경우
$num = array("q","w","e","r","t");
foreach ($num as $v) {
echo "$v<br>OK<br><br>";
}
그러나,이 시도 :
$cont = '"q","w","e","r","t",';
preg_match_all("/\"([^\"]+)\"/", $cont, $matches);
$num = $matches[1];
foreach ($num as $v) {
echo "$v<br>OK<br><br>";
}
또는 단순히 배열을 만들 : 대신 preg_match_all
을 사용할 수 있습니다
$cont = '"q","w","e","r","t",';
eval("\$num = array($cont);");
foreach ($num as $v) {
echo "$v<br>OK<br><br>";
}
코드가 의미가 없습니다 –
http://php.net/explode 추신 : 사용자 정의 직렬화 알고리즘을 개발하는 대신 json을 확인하는 것이 좋습니다. 대신. – zerkms
반쯤 생성 된 임의의 표현식을 '평가'할 수 없습니다. 유효한 PHP 여야합니다. –