$str = 'answers[0] = "Love it"; answers[1] = "Hate it."; answers[2] = "Doesnt care"; answers[3] = "Like it";'
어떻게 배열로 변환 할 수 있습니까?PHP는 문자열 배열 목록을 배열로 변환합니다.
$str = 'answers[0] = "Love it"; answers[1] = "Hate it."; answers[2] = "Doesnt care"; answers[3] = "Like it";'
어떻게 배열로 변환 할 수 있습니까?PHP는 문자열 배열 목록을 배열로 변환합니다.
$str = 'answers[0] = "Love it"; answers[1] = "Hate it."; answers[2] = "Doesnt care"; answers[3] = "Like it";';
preg_match_all('/"(.*)";/U', $str, $matches);
$arr = $matches[1];
var_dump($arr);
위의 전나무 샘플을 작동하지만 다른 문자열 리터럴 (또는 HEREDOCS e.t.c 일 수 있음)이있는 경우 실패합니다 –
OP에 다른 변형이 있는지 여부에 따라 다름 –
예, 그렇게 생각합니다. –
이와 비슷한?
<?php
$str = '$answers[0] = "Love it"; $answers[1] = "Hate it."; $answers[2] = "Doesnt care"; $answers[3] = "Like it";';
eval($str);
print_r($answers);
?>
할 필요가 없다면'eval()'을 사용하지 말라. 그리고 당신이 원하는 것을 성취 할 수있는 또 다른 방법이 있습니다. 또한 OP 예제 문자열에는 '$'기호가 없으므로 답변이 아닙니다. –
eval()은 좋은 연습이 아닙니다. 서버에서 입력 코드를 실행할 수있는 권한을 허용합니다. 서버에 해를 끼칠 수 있으므로 ..... 다른 방법을 시도하십시오 .... –
사용
그냥 값을 선택하고 배열에 넣어 preg_split
예 :
$keywords = preg_split("/[\s,]+/", $str);
는 그냥 페이지를 변경 attern!
$str = 'answers[0] = "Love it"; answers[1] = "Hate it."; answers[2] = "Doesnt care"; answers[3] = "Like it";';
$chunks = explode(';', $str);
for ($aa=0;$aa<count($chunks);$aa++)
{
$chunks1 = explode('=', $chunks[$aa]);
$myArray[]=$chunks1[1];
}
$ myArray에 오류가 있습니다. [] = $ chunks1 [1]; –
무엇이 오류입니까? – sskoko
$str = 'answers[0] = "Love it"; answers[1] = "Hate it."; answers[2] = "Doesnt care"; answers[3] = "Like it";';
preg_match_all('/"(.*?)"/', $str, $answers);
$answer = $answers[0];
print_r($answer);
멋진 작품, 고마워요 –
당신은 세미콜론 (;
) 이후에 새로운 라인을 추가 할 경우, parse_ini_string()
기능을 살펴.
$str = str_replace(';', "\n", $str); // <- add them in the source if you can
$array = parse_ini_string($str);
예, 다른 해결책이 있습니다. 고마워! –
첫 번째 질문은 어떻게 그런 문자열을 얻었습니까? –
[XY 문제] (http://meta.stackexchange.com/a/66378)처럼 보입니다. 이 문자열은 어디서 구할 수 있습니까? – Reeno
배열로 변환하는 것은 쉽지 않습니다 ...이 유형의 문자열을 어떻게 분할 할 수 있습니까? ?? 이 값을 단지 값으로 전달하려고 시도하십시오 .. –